-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
187 lines (143 loc) · 10.7 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# Метки
m[a-z] — локальная метка
m[A-Z] — глобальная метка
`a — перейти на метку a
'a — перейти на строку с меткой a
`. — перейти к месту последней правки
'' — прыгнуть назад
:marks — посмотреть список меток
:delmarks a — удалить метку a
# Скроллинг (без перемещения курсора, с перемещением)
Ctrl+E — extra (показать строки под курсором, по одной)
Ctrl+Y — yet (показать строки до курсора, по одной)
Ctrl+U — up (курсор на полстраницы вверх)
Ctrl+D — down (курсор на полстраницы вниз)
# fugitive
:Gblame — посмотреть виновников последней правки каждой строчки
:Ggrep foot — найти вхождения foo в файлах проекта
CR — перейти к первому файлу (в месте вхождения)
:cn/:cp — фигачить со списку файлов вперёд/назад
# Плагин для комментирования
\cc — закомментировать выделенные строки
\cu — раскомментировать выделенный код
# Плагин vim-snippets
if<tab> — раскрывает ветвеление в ruby
this<tab> — оборачивает $(this) в js
%<tab> — ислолнение кода в представлнии
=<tab> — вставкa кода в представлние
# Подключить ctags
:Ctags (vim-rails) — сделать в проекте файлик ctags, в которой добавятся метки для файлов проекта и его гемов
<c-]> — перейти к определению функции под курсором
<c-t> — вернуться после перехода по стеку меток
g<-]> — показать список мест для перехода
<c-w>} — показать определение функции в окне предпросмотра
:tag <tag_name> — показать определение метки
:tselect <tag_name> — показать список определений меток
# Инструменты для rails (http://www.sitepoint.com/effective-rails-development-vim/)
поставил Ctags
поставил vim-rails
поставил snippet-mate
отказался от vim-rsepc (удобнее пользоваться в отд. окне)
отказался от Ack в пользу git grep
# vim-rails
:A — редактировать «альтернативный» в смысле (спека-код) файл
:AS/:AV — редактировать его в отдельном окошке
:AT — редактировать файл в отд. вкладке
:R — редактировать «связанный» в смысле модель-контроллер-представление
:Econtroller [{name}] — редактировать контроллер (без параметра будет догадываться)
аналогично для environment, fixtures, functionaltest, helper, initializer, javascript, layout,
lib, locale, mailer, migration, model, spec, schema, stylesheet, task, viewo
:Rake {task} — выполнить задание (дефолтное для большинства файлов, скажем, прогнать тест)
:Rabbrev — посмотреть список снипетов, доступных в текущем файле
# макросы для rails
% — <% %>
= — <%= %>
if — <% if %> .. <% end>
ief — ...
lt — <% link_to 'name', src %>
https://github.com/honza/vim-snippets/tree/master/snippets
# вимовские вкладки
http://superuser.com/questions/410982/in-vim-how-can-i-quickly-switch-between-tabs
:tabe(dit) <file> — открывать файл в новой вкладке
:tabclose — закрыть текущую вкладку
Ctrl-W T — переместить текущее окно во вкладку
Ctrl-W c — закрыть окно/вкладку, если окно во вкладке последнее
Ctrl-W gf — go to file в отдельной вкладке
в CTRLP при выборе файла <c-t> откроет выбор в новой вкладке
gt — перейти к след. вкладке
gT — перейти к пред. влкдаке
{i}gt — перейти к вкладке с номером i
# Заботать ctrlp (куча удобных фишек: http://kien.github.io/ctrlp.vim/)
<c-p> — открыть поиск
<c-f> — крутить режимы поиска (файлы, буферы, недавние)
<c-j|k> — вниз-вверх по результатам поиска
<c-t> — открыть в новой вкладке
<c-v|x> — открыть в новом окне с разделением
<c-n|p> — последний запрос
<c-z> — выделить несколько файлов и открыть их <c-o>
# Перебиндить CTRL+P и работу с буферами на что-то божеское (ctrl+f, ctrl+b — скроллинг на страницу, переживу)
<c-f> — поиск по всем файлам
<c-f><c-f> — поиск по открытым буферам
# Как двигать каретку в режиме вставки вправо, влево, конец строки, начало строки, по словам
говорят, что в режиме правки курсором не двигают
A — редактрировать в конце строки
I — редактировать в начале строки
<c-h> — backspace в режиме правки
<c-w> — удалить последнее слово в режиме правки
<c-u> — удалить всё на строке и начать сначала
<c-o> — выполнить команду для нормального режима в режиме правки
<c-o>$ — перейти в режиме правки к концу строки (= Esc + A)
<c-o>^ — перейти в режиме правки к началу строки (= Esc + I)
<c-o>f) — продолжить править до первой нашедшейся скобки
<c-t|d> — увеличить/уменьшить отступ текущей строчки в режиме правки
# Перемещать текущий файл в новое место
:Sex (:Hex, :Vex, :Text) — открыть навигатор Vim в текущей директории
R — переименовать файл под курсором
# Научиться сохр. файл чем-то поудобне :w
:x — сохранить и выйти (:wq)
:wa — сохранить всё
:wqa — сохранить всё и выйти
map <Esc><Esc> :w<CR> — настроил сохранение на двойной Esc
# Искать выделенный текст
Можно скопировать что угодно и вставить в режиме поиска <c-r>"
забиндил vnoremap // y/<C-R>"<CR>
# Выделять/копировать/менять внутри def|end
]m — начало следующего метода
]M — конец следующего метода
[m — начало предыдущего метода
[M — конец следующего метода
am — метод def-end
im — внутри def-end
# Плагин для удвоения кавычек, скобок и прочего
поставил lexima.vim ([| → [|], (| → (|), '| → '|', "| → "|")
закрывает end после def или if в ruby
не трогает выражения после \ (\", \', \(, \[)
добавляет строку с переносом после (
|
)
# Выделять для правки несколько мест в тексте
поставил vim-multiple-cursors
<c-n> — выделить слово под курсором и поместить курсор в его начало
<c-n><c-n> — выделить потом следущее такое же слово и поместить новый курсор в его начало
<c-n><c-n><c-x> — отменить последнее слово и перейти к следующему
<c-n><c-n><c-p> — отменить последнее слово и перейти к следующему
<c-n><c-n>c — заменить выделенные слова и начать печатать вместо них что-то другое
<Esc> — выйти из режима множеств. курсоров обратно в Normal
можно выделить несколько строк и нажать <c-n> — появится по курсору в начале каждой строки
в режиме правки работают только «однокнопочные» команды (c, i, a, I, A, s, r, x, f, t)
в режиме мультиправки курсор становится белым
# Заботать работу с разными буферами в vim (vim registers)
"aY — скопировать строку в регистр a
"ad — вырезать в регистр b
"Ayy — добавить строку к содержимому регистра a
"ap — вставить строку из регистра a
<c-r>a — вставить из регистра a в режиме правки
"_dd — удалить строку, не занося её в регистры
"0p — вставить последний скопированный текст (не затриаеся при удалениях)
:reg — посмотреть текущие регистры
"+ — вставить из буфера системы Ctrl-C (!)
"* — вставить из буфера системы выделение мышью (!)
# Установить vim-syntastic, сделать ему по умолчанию пассивный режим и научить его гонять по текущему файлу rubocop
<c-w>e — прогнать проверку по текущему файлу
# Научиться в терминале гнома управлять русскими символами, замапить русские команды :ц, :цф, :цй
http://habrahabr.ru/post/175709/