cheatsheets/projectionist.md

61 lines
1.2 KiB
Markdown

---
title: Projectionist
category: Vim
---
### Basic usage
```json
/* .projectionist.vim */
{
"app/assets/react/components/*.jsx": {
"type": "component",
"template": [
"import React from 'react'",
"export default {} = React.createClass({ ... })"
]
}
```
### Available options
```js
{
"lib/*.rb": {
"type": "lib", /* enables :Elib */
"alternate": "test/{}_spec.rb", /* for :A */
"template": [ ... ],
"path": "include", /* for `gf` i think */
"console": "node", /* for :Console */
"dispatch": "node", /* for :Dispatch (dispatch.vim) */
"start": "rails server", /* for :Start (dispatch.vim) */
"make": "node", /* for makeprg */
}
}
```
### Commands
| Command | Description |
|---------|-------------|
| `:A` | Edit alternate |
| `:A {file}` | Edit file |
|---------|-------------|
| `:AS` | Edit in split |
| `:AV` | Edit in vsplit |
| `:AT` | Edit in tab |
|---------|-------------|
| `:AD` | Replace with template |
|---------|-------------|
| `:Cd` | cd to root |
| `:Cd {path}` | cd to path in root |
| `:Lcd` | cd to root using :lcd |
|---------|-------------|
| `:ProjectDo {cmd}` | run command in root |
### Reference
See [vim-projectionist](https://github.com/tpope/vim-projectionist).