
VIM(Neovim)
编辑器之神,编辑器的常青树。无数的对手都倒下了,它依然稳如青松。
嘻嘻作者哈哈
喜欢折腾技术。寒窗苦读无人晓,一朝成名天下知。
展开
-
Vim(Neovim)配置coc.nvim
操作系统:Ubuntu20.40。安装coc安装Node.js安装命令:curl -sL install-node.now.sh | bashnpm安装neovim和yarn:sudo npm i --registry https://registry.npm.taobao.org install -g neovim yarn配置淘宝镜像:npm config set registry https://registry.npm.taobao.orgvim-plug安装coc.nvim在V原创 2022-02-13 01:32:30 · 7636 阅读 · 0 评论 -
Vim拼写检查、超管保存文件等
拼写检查在命令模式下,开启:set spell,关闭:set nospell开启拼写检查后,普通模式下Vim拼写检查器的基本命令命令用途]s跳到下一处拼写错误[s跳到上一处拼写错误z=为当前单词提供更正建议插入模式下,使用<Ctrl-x>s获取拼写检查更正建议,与z=建议一样。配置快捷键,修改.vimrc,添加如下代码map <leader>sc :set spell!<CR>inoremap <C-x原创 2022-03-02 14:06:16 · 417 阅读 · 0 评论 -
Vim折叠操作(折叠代码、折叠函数、方法、类等)
折叠手动折叠(默认折叠方式)折叠操作符z。普通模式下的折叠操作折叠也是一个操作符,所以它也遵循语法规则,即动词 + 名词。启动折叠操作符zf,后面可以接动作(motion)或文本对象(text-object)确定折叠的范围。zf里的f盲猜为fold。举例zfi{ # 折叠光标当前所在的大括号{里面的文本zfa{ # 折叠光标当前所在的大括号{里面的文本和大括号本身zfG # 从当前光标所在行开始,折叠到文件尾zf10j # 从当前光标所在行开始,原创 2022-03-02 14:05:40 · 15165 阅读 · 0 评论 -
Vim标签使用及标签生成器
标签标签生成器推荐安装:universal ctags生成基本的标签文件ctags -R .大型项目生成标签使用--exclude来排除一些不需要的文件或目录。举例# 排除git,logctags -R --exclude=.git --exclude=log .标签导航普通模式使用ctrl-]跳转到标签对应的定义处,ctrl-t跳回原处。命令模式使用:tag 标签名,跳转到定义,:pop跳回。标签优先级并非所有的标签都有着相同的地位,一些标签有更高的优先级。如原创 2022-03-02 14:05:17 · 521 阅读 · 0 评论 -
Vim中的寄存器
VIM的寄存器Vim操作的是寄存器而不是系统剪贴来存储缓存。普通模式下,从某个特定的寄存器中读取文本的通用语法是"x,其中x是寄存器的标志。默认使用修改c或d删除或y复制的内容都放到了"匿名寄存器"。比如用x删除一个字符放到无名寄存器,然后p粘贴,可以调换字符。插入模式下,取出某个寄存器里面的内容放入到当前缓冲区中的方法为ctrl-r x,其中x是寄存器的标志。# 查看寄存器里面缓存的内容:reg [寄存器名称]:reg # 查看当前所有寄存器:reg + # 查看剪贴板寄存器原创 2022-03-02 14:04:58 · 1756 阅读 · 0 评论 -
Vim文本对象
文本对象(text-object)提高字符操作效率 VIM中也有文本对象的概念,比如一个字符、一个单词、一段句子、一个段落等都是文本对象。文本对象的作用:通常用来表示范围。文本对象操作方式[number]<command>[text object]number表示操作个数或次数。command表示命令。text object表示要操作的文本对象,Vim默认提供的常用文本对象有单词为w,词组为W,句子s,段落p,双引号",单引号’,`,大括号{或},小括号(或),中括号[或原创 2022-03-02 14:04:32 · 492 阅读 · 0 评论 -
vim可视模式(选择模式)常用操作
可视模式退回到普通模式下再进入可视模式。三种可视模式v # 逐字符可视模式(选中)V # 逐行可视模式(选中)ctrl+v # 逐块可视模式(选中)前面加上数字可以选中多个;结合文本对象或动作motion可以快速选中;选中后,可对选中的文本执行普通模式下的命令,比如c,d,y等操作符;举例viw # 选中一个单词,不包括空格vaw # 选中一个单词,包括空格5V # 从当前行开始起,向下选中5行可视模式导航在可视模式中,使用o或O会让光标在高亮选原创 2022-03-02 14:04:14 · 2567 阅读 · 0 评论 -
vim多文件操作(多个buffer)
多文件操作可配合窗口分屏、选项卡使用更佳。参数列表:args # 查看创建的文件参数列表:args file... # 为指定的多个文件创建文件参数列表:argdo # 为参数列表里面的所有文件执行同样的命令,同时操作多个文件:m,n argdo # 对参数列表中m到n个文件执行操作:arga # 追加新文件到参数列表中:argdo update # 保存参数列表里所有文件的修改遍历参数类别:first # 跳到参数列原创 2022-03-02 14:03:54 · 1029 阅读 · 0 评论 -
VIM替换(替换单个、一行、全文)
替换语法:[range] s/{old-pattern}/{new-pattern}/[flags]range确定范围,不写默认为当前行。% # 表示整个文件内容. # 表示当前行$ # 表示最后一行m,n # 表示从第m行到第n行,n # 表示从当前行到第n行n, # 表示从第n行到当前行n # 指定行+n # 表示当前行之后的n行old-patte原创 2022-03-02 14:03:30 · 12893 阅读 · 0 评论 -
Vim搜索(查找代码、字符串等)
搜索(查找)# 搜索模式/ # 前向搜索匹配? # 反向搜索匹配# 移动定位n # 跳到下一个匹配的位置N # 跳到上一个匹配的位置* # 对光标当前所在的完整单词进行前向搜索匹配# # 对光标当前所在的完整单词进行后向搜索匹配g* # 前向搜索光标当前所在单词g# # 反向搜索光标当前所在单词搜索时字母大小写情况设置# 设置vimrc文件# 当输入的搜索词全部是小写时,忽略大小写;搜索词至少有一个大写字母时,进行大小写匹配搜索set ignorecase原创 2022-03-02 14:03:15 · 17632 阅读 · 0 评论 -
Vim命令模式常用快捷方式
命令模式退回到普通模式下再进入命令模式。有些资料称为Ex命令。命令模式快捷键ctrl-h # 删除一个字符ctrl-w # 删除一个单词ctrl-u # 删除整行ctrl-b # 移动到该行的开始ctrl-e # 移动到该行的结束shift-left # 光标左移一个单词shift-right # 光标右移一个单词命令模式支持一些终端里面的快捷操作,比如tab补全提示,ctrl+h删除,ctrl+p上一个命令等。多窗口编辑(原创 2022-03-02 14:03:02 · 577 阅读 · 0 评论 -
Vim插入模式(插入命令、快速插入方法)
快速插入直接插入i # 在光标前面一个位置插入a # 在光标后面一个位置插入I # 从当前行第一个非空字符的前一个位置插入A # 在当前行尾插入o # 在光标所在行的下面新插入一行O # 在光标所在行的上方新插入一行gi # 从当前缓冲区buffer上次结束输入模式的地方开始插入 gI # 从当前行的第一列的位置开始插入 先删除,再插入,并结合文本对象使用s # 删除光标所在字符,并插入;先按数字可向前删除多个字符原创 2022-03-01 22:22:20 · 13429 阅读 · 0 评论 -
Vim分屏(多窗口布局)
多窗口编辑(分屏)开启多个窗口<Ctrl+w>s # 水平分割,先按ctrl+w,再按s<Ctrl+w>v # 垂直分割,先按ctrl+w,再按v窗口切换切换窗口的命令都是使用Ctrl+w作为前缀# Ctrl简写为C<C+w>w # 在窗口见循环切换<C+w>h # 切换到左边窗口<C+w>l # 切换到右边窗口<C+w>k # 切换到上边窗口<C+w>j # 切换到下边窗原创 2022-03-01 22:19:11 · 4804 阅读 · 0 评论 -
Vim合并代码、格式化代码、切换大小写
快速合并J # 将下面一行合并到本行后面,先按数字可合并多行快速格式化代码gg=G # gg回到文本开头,=表示自动缩进,G跳到行尾大小写切换~ # 字母大小写切换原创 2022-03-01 22:17:01 · 171 阅读 · 0 评论 -
Vim宏的使用
宏(macro)批量重复执行一组操作宏的主要作用高效的完成同样的一组操作,比如批量插入、批量删除、批量修改。宏的使用普通模式下启动宏# 1. 录制宏(1) 普通模式下按q,之后跟上宏名(也就是要使用的寄存器名,可以为a-z,用寄存器来存储宏操作),就开始录制了;(2) 一组操作,比如编辑文本ing...(3) 普通模式下按q,停止录制。# 使用(回放)宏# 方法1:命令模式下使用,结合可视模式(1) 选中要批量操作的文本区域,比如用可视模式选中;(2) 再按:进入命令模原创 2022-03-01 22:13:41 · 1857 阅读 · 0 评论 -
Vim使用.(点命令dot)来重复上一次修改操作
点命令重复操作点命令.用于重复最近一次改变文本的操作或上一个修改操作,帮助文档:h .. # dot命令用于重复上一次命令改变文本的操作:比如采用普通模式下的命令(添加,修改,删除)来更新当前缓冲区的内容时,就属于改变操作。但是通过命令行的修改不算即命令模式下的(以:开头的命令)。此外单纯的移动光标的动作motion不属于修改操作,所以也无法使用.命令重复其过程。举例删除文本# 执行一个删除操作df, # d表示删除操作符# f,表示在该行查找,# 用于删除从当前光标开始,原创 2022-03-01 22:10:35 · 1951 阅读 · 0 评论 -
Vim复制(剪切)粘贴操作
复制(剪切)粘贴使用y(yank)复制,d(delete)剪切,p(put)将内容粘贴到光标后,P粘贴到光标前。y操作符(operator)表示复制操作,后面接的动作(motion)表示y操作的范围。比如y2w,yi"等。“数字 + y” 可以实现多次执行同样的复制操作。“数字 + p” 可以实现多次粘贴。使用可视模式V或者v或者ctrl+v选中文本,在复制y或者剪切d,最后再粘贴p。在配置文件vimrc文件添加如下配置,可以实现Vim与系统剪切板共享内容:set clipboa原创 2022-03-01 22:07:38 · 3329 阅读 · 0 评论 -
Vim撤销与修改替换
快速撤销配合数字,多步撤销。u # 撤销,先按数字多步撤销,undoU # 撤销刚刚对当前行的操作ctrl+shift+r # 反撤销,redo快速修改r # replace,替换字符,先按数字可将多个字符全部替换为某个字符R # 进入替换模式,连续替换字符...原创 2022-03-01 22:02:11 · 645 阅读 · 0 评论 -
VIM高效删除
快速删除di和da结合其他字符或文本对象一起使用。比如结合单引号’,双引号",`,小括号(或),大括号{或},方括号[或],尖括号<或>,s操作句子,p操作段落,t操作html/xml的标签等。x # 删除光标所在字符,可先按数字向前删除多个字符,也可配合可视模式删除多个字符或多行X # 删除光标前一个字符,可先按数字向后删除多个字符,也可配合可视模式删除多行dw # 向前删除单词,包括用于分割单词的空格,先按数字向前删除多个单词db # 向后删除单词,原创 2022-03-01 21:58:56 · 6649 阅读 · 0 评论 -
Vim普通模式下快速移动大法
快速移动配合数字一起使用,重复执行从而移动多步。# 字符移动k # 上,可先按数字,多步移动j # 下h # 左l # 右# 单词/词组移动w/W # 下一个单词/词组开头,也可先按数字,多步移动e/E # 下一个单词/词组结尾b/B # 上一个单词/词组开头ge/gE # 上一个单词/词组结尾# 一个单词指以非空格符分割的单词(会把空格符也作为单词的一部分),通常包含a-zA-Z0-9,查看帮助:h word# 一个词组指一个包含除了空字符(空原创 2022-03-01 21:54:55 · 750 阅读 · 0 评论 -
VIM(Neovim)基本概念与高效使用方法
操作符和动作Vim两个基本概念:操作符operator和动作motion。operator看作动词,motion看做名词。操作符是用于对文本内容进行操作的命令,比如修改c、删除d、y复制到寄存器、~交换大小写、g~反转大小写、>增加(右)缩进、<减小(左)缩进、=自动缩进、zf定义折叠、gu转为小写、gU转为大写等。# 查看操作符:h operator动作是指移动光标的命令等。比如h、j、k、l、/、w、b、e、^、0、$、%、s等。用来限定范围。动作 = 移动光标的命令或动作原创 2022-03-01 21:51:22 · 3780 阅读 · 0 评论