vim 一些插件的学习
1. neoformat
:Neoformat
,输入命令之后按 空格+tab
键进行选择格式化的程序,
项目地址:https://github.com/sbdchd/neoformat
2. vim-multiple-cursors
选中任意文本后,使用 Ctrl+n
和 Ctrl+p
找到下一个匹配的字符
选中完成后,可以使用i
,c
等vim编辑操作进入insert模式,开始修改文本.
3. EasyAlign
格式:命令,范围 ,对齐方式,对齐符号
对齐命令 | 范围 | 对齐方式 | 可选要对齐的符号,前面可以加数字表示第几个 |
---|---|---|---|
ga | ip,2j | <Enter><Enter> | <Space>,=,/,:,#,&, |
默认左对齐,1回车右,2回车居中 | 符号前可加数字,负数代表倒数第几个 |
-
示例
gaip<Space> # 按第一个空格对齐,范围:光标所在段落 ga2j<Space> # 按第一个空格对齐,范围:光标下2行 gaip= # 按第一个等号对齐 gaip[*,2,-1]= # 所有等号都对齐,第2个等号对齐 ,倒数第一个等号对齐 gaip/ # 按/号对齐 gaip<Enter><Enter>*| # 按|居中对齐
-
vim 原生对齐方法
= = #排版当前行 5= = #排版当前行下5行
- 符号的说明
按键 | 使用场景说明 |
---|---|
匹配空白符 | |
= | 包含等号的操作符(=, ==, !=, +=, …) |
: | 应用于 JSON 或 YAML 格式 |
. | 应用于多行点语法调用 |
, | 应用于多行参数列表 |
& | 对 LaTeX table 进行格式化,匹配 & 和 \ |
# | 应用于对 Ruby/Python 的注释的对齐 |
Markdown 表格 |
ease align 插件对齐方式的学习:https://www.mianshigee.com/tutorial/learn-vim/plugins-easyalign.md
[项目地址:https://github.com/junegunn/vim-easy-align](https://github.com/junegunn/vim-easy-align
4. tcomment_vim 用法
vim 中
gcc
gcap
gc2j
v...gc
5. surround & repeat
范围命令 | 描述 |
---|---|
y s <motion> <desired> | 为 |
d s <existing> | 删除 |
c s <existing> <desired> | 把 existing 范围字符改成 desired 范围字符 |
S <desired> | 在 Visual 模式下给选中区域添加范围字符 |
vim 中:
ysiw " # 增加标签
or
S"
ds" #删除
cs"' #替换
cs"t #替换复杂标签
修改前 命令 修改后 说明
--------------------------------------------------------------------------------
surr*ound_words ysiw) (surround_words) 整词外围加 )
*make strings ys$" "make strings" 选中部分加 "
[delete ar*ound me!] ds] delete around me! 删除 [ ]
remove <b>HTML t*ags</b> dst remove HTML tags 删除 标签
'change quot*es' cs'" "change quotes" 替换" 为 '
<b>or tag* types</b> csth1<CR> <h1>or tag types</h1> 替换标签
delete(functi*on calls) dsf function calls 没明白
6. easymotion
<leader><leader> s <char> | 搜索字符 |
---|---|
<leader><leader> f <char> | 向后搜索字符 |
<leader><leader> F <char> | 向前搜索字符 |
<leader><leader> t <char> | 向后搜索字符,标记位是被搜索字符的前一个字符 |
<leader><leader> T <char> | 向前搜索字符,标记位是被搜索字符的后一个字符 |
vim leader
为,
号:
,,f
,,t
,,s
7. tagbar
.vimrc
设置:
noremap <C-a> :TagbarToggle<CR>
let Tlist_Show_One_File = 1
let g:tagbar_autofocus = 1
let g:tagbar_sort = 0
let g:tagbar_show_linenumbers = -1
set tags=./.tags;,.tags # 这个网上很多文章没写清楚,下面链接算是说明白了,感谢作者。
set autochdir
set tags=./.tags;,.tags
在自己的项目文件夹下执行 ctags -R *
or ctags -R .
常用的命令:
1. $ ctags –R * # 终端
: 开头的命令为 vim命令行模式
3. :ts # ts 助记字:tags list,
4. :tp # tp 助记字:tags 前一个
5. :tn # tn 助记字:tags next
6. Ctrl + ] # 跳转到函数定义处,跳转相当于下面`6`入栈,才会有上面 `tags list`
7. Ctrl + o # 跳回源文件
8. ? # 查看窗口命令
8. vim-es6 Snippets list
Trigger | Result |
---|---|
gfn | function* name (arg) |
=> | (arg) => { ... }, |
class | class name { constructor () { ...} } |
forof | for (let value of arr) |
im | import lib from 'Library' |
ex→ | export default foo |
使用
tab
触发
9. vim-rt-format
使用 vim-plug 安装插件实时格式化
Plug 'skywind3000/vim-rt-format'
默认在 INSERT 模式下按 ENTER 格式化当前代码行,将下面设置成 1 的话,可以用 CTRL+ENTER 来格式化,ENTER 将保留原来的功能
let g:rtf_ctrl_enter = 0
离开 INSERT 模式的时候再格式化一次
let g:rtf_on_insert_leave = 1
当前 buffer 中使用命令
:RTFormatEnable
目前支持:Python, Lua, Javascript 几种语言,有点少,使用的话,只需要 Vim 支持 +python3 特性,且 Python 安装 autopep8 模块即可
来源:知乎,链接:https://zhuanlan.zhihu.com/p/444971920
10. 一篇介绍vim原生操作的神文
https://zhuanlan.zhihu.com/p/599417117
https://tool.4xseo.com/article/75397.html