vim 随手记

夏谦
2023-12-01

第二次强迫尝试vim,用过同事的都赞不绝口,爱不释手,事半功倍。

而我。。。第一次在尝试强迫使用中事倍功半,体验极差,导致放弃,现在开始第二次尝试!!!(做好笔记,以便回顾)


 移动模式

  进入移动模式  control + 【

  h (左移)       j (下行)       k (上行)     i (右移)  b (上一个单词)    w (下一个单词)     e (下一个单词最后一个字母前)   

  $ (跳到行末)   (数字零跳到行首包括缩进)  (shift+6 跳到行首不包括缩进)   control + f  (下一页)  control + u (上一页)


插入模式

  在移动模式下  i 在当前位置输出              在移动模式下  大写 I  在当前行顶头输出

  在移动模式下  a 在光标后位置输出         在移动模式下  大写 A 在光标后位置输出

  在移动模式下  o 在光标后换行输出         在移动模式下  大写 O 在光标上一行输出


删除 

  在移动模式下  x  删除当前位置字符            在移动模式下  dw  删除当前位置的单词

  在移动模式下  s  删除当前位置字符并进入插入模式

  在移动模式下  d2w  删除当前位置的两个单词             在移动模式下  d$  删除当前位置到行尾所有内容

  在移动模式下  dd  删除当前行n                   在移动模式下  2dd  删除当前行和下一行 (两行)

  在移动模式下  d a p 删除段落

  如果不想 删除的时候复制  用 下划线 黑洞


撤销

  在移动模式下  u  撤销最后的命令                  在移动模式下  U  撤销当前行的所有操作 

  在移动模式下 control + r  返回撤销的东西


替换

  在移动模式下  r  替换当前字符           


修改

  在移动模式下  cw  修改当前单词光标后的字母

  在移动模式下  ciw  修改整个单词 


定位 

  在移动模式下  gg  跳到文件头                           在移动模式下  G  跳到文件尾

  在移动模式下 ta 跳到当前行下一个字母 a 的前面   在移动模式下 fa 跳到当前行下一个字母 a 处  反向查找改成大写T大写F即可

  在移动模式下  control + g  查看文件信息,当前行数,总行数

  在移动模式下  control + o  跳回到之前光标停留的位置

  在移动模式下 control + d  control + f  向下翻页

  在移动模式下 control + b  control + u 向上翻页


搜索类

  在移动模式下  /  后面接想搜索的关键字回车

  在移动模式下 输入   :set ic  忽略大小写                在移动模式下 输入   :set noic   取消忽略大小写

  在移动模式下 输入   :set hls  高亮显示匹配字符                在移动模式下 输入   :set nohls   取消高亮显示匹配字符

  在移动模式下  %  搜索匹配的括号,例如在 ()内使用 则定位到(),在{} 中使用 定位到 {}

  在所有行中查找 字符串 出现的次数
  :%s/字符串/&/gn
  在m和n行之间查找 字符串 出现的次数
  :m,ns/字符串/&/gn


替换  

  在移动模式下  :s/old word/new word     :s/ 想替换的单词/替换的新单词 即可替换一个

  在移动模式下  :s/old word/new word/g     :s/ 想替换的单词/替换的新单词/g  即可替换当前整行的

  在移动模式下  :%s/old word/new word/g     :%s/ 想替换的单词/替换的新单词/g  即可替换整个文件的

  在移动模式下  :%s/old word/new word/gc     :%s/ 想替换的单词/替换的新单词/gc  即可替换整个文件的

                                                                              -------》!!!(会询问你每一个是否修改)


使用外部命令

  在移动模式下  :!pwd  :! 后接外部命令,可以直接调用外部命令

  在移动模式下  :!w NEWFILE   :!w 后文件名,可以将文件另存为 newfile


复制粘贴文本

  在移动模式下 v 进入可视模式,(可视模式下 按 o  切换活动端)

  选择高亮后, y 复制, p 粘贴

  还可以使用  yw  复制一个单词

  复制外部粘贴板的东西  " + p  双引号加号p


  在移动模式下 qa  将宏录制到 a  , 按 q 结束录制,  @a  启用宏一次   , 4@a 启用宏四次


其他

  选中后 切换大小写  u  转小写 U 转大写  大小写反转

  选中后 缩进   <  减小缩进     >   增加缩进    =  自动缩进

  重复上一次操作    .

  对数字进行操作  在移动模式下 移动到数字上    10 control + a   对数字增加10     10 control + x  对数字减去10

  智能跳转  想跳到 下一个 逗号 ,  处  f + ,  跳到上一个逗号处  F + ,  想跳哪儿就 f  哪儿。 


一个界面同时编辑多个文件,相互copy 改

首先 vim 其中任意一个文件,然后

:vsp

 :e 1.txt    :e 文件名   就可以同时打开两个文件

切换 左右  control+w  后接上下左右  hjkl

同时打开四个文件,切换上下左右也是  control+w  后接上下左右  hjkl

如果想 左右替换看  control+w r


选中与当前选中目标一致的 所有

例如,想找出当前 所有的 “demo” 同时操作 更改

首先得启用设置: 

       :set multiple-cursors

然后 v 选择模式 选中匹配项,然后 option + n

每次都得设置一下,所以我们直接修改 idea vim  的配偶文件,让它永久生效

vim ~/.ideavimrc 

set multiple-cursors
保存退出 ,完事儿


出现上次编辑异常退出的情况

碰到编辑异常退出,使用命令 ls -alh  删除 后缀为swp的文件即可 


查看文件十六进制格式

vim 文件名 后 

:%!xxd 

 类似资料: