Fork me on GitHub

vim 一些插件的学习

1. neoformat

:Neoformat,输入命令之后按 空格+tab 键进行选择格式化的程序,

项目地址:https://github.com/sbdchd/neoformat

2. vim-multiple-cursors

选中任意文本后,使用 Ctrl+nCtrl+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> 选中的区域添加 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

https://www.zhihu.com/question/35808196/answer/130915301

  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

posted @ 2023-02-01 11:07  Cloudhan  阅读(272)  评论(0编辑  收藏  举报