【Shell的vim命令经验-快捷键小分享】

 

 

 

 

 

[标签]: vim高级用法    vim命令批量处理    vim注释颜色修改    vim文本替换换行    vim撤回和反撤回    vim高阶光标移动

 

 

问题详情的描述或方案目标的预期:

vim,sed是Linux中文本处理的两大利器,掌握好了可以极大提高工作效率。

 

 

 

【解决方案】

 

整体思路:多用记住它,常用的不会很多。

  

  

一 vim注释行默认蓝色替换

默认的蓝色非常晃眼,容易眼疲劳,也经常看不清,所以大多数人都会修改

最简单的修改方式:

echo "hi Comment ctermfg = cyan" >> ~/.vimrc

  

  

二 撤回和反撤回

vim文本修改时有时候需要撤回原样,还可能撤回过多步需要反向撤回

撤回上一步: u

反向撤回一步:CTRL + R

撤回或反向撤回多步就按多次快捷键即可

  

  

三 光标移动

% 匹配括号成对移动。包括小中大括号{[()]}

* 光标移动到下一个匹配的单词

# 光标移动到上一个匹配的单词

3+回车 向下跳跃3行,3可改为任意整数

3+空格 向右移动3个字符,3可为任意整数,到末尾时自动移到下一行

HOME/END 行首/行尾

  

  

四 逗号替换为回车(每逢逗号换行)

命令模式下命令:

:%s/,/^M/g -- ^M是用ctrl-v然后ctrl-m敲出来的

换行替换回逗号分割:

:%s/\n/,/g

  

  

五 常规文本替换

替换所有行的内容      :%s/from/to/g

替换当前行中的内容    :s/from/to/   (s即substitude)

替换某一行的内容      :33s/from/to/g (假设第33行)

替换最后一行的内容    :$s/from/to/g

替换某些行的内容      :10,20s/from/to/g -- 对第10行到第20行的内容进行替换。

  :1,$s/from/to/g       对第一行到最后一行的内容进行替换(即全部文本)。

  :1,.s/from/to/g       对第一行到当前行的内容进行替换。

  :.,$s/from/to/g       对当前行到最后一行的内容进行替换。

%表所有行,约等于1,$

不写行号直接s命令表示只替换当前行

结尾带g表行中出现的所有地方

结尾不带g表行中出现的第一处

  

  

六 行首行位插入字符串

行首 :%s/^/your_word/

行尾 :%s/$/your_word/

  

  

七 删除出现某关键字符串的行

:g/str_del/d 或 :%g/str_del/d -- str_del 表示想删除的特定字符串

  

  

  

总结:有需求你总会记住的,没需求你总会忘记的。

 

 

 

百度一下    谷歌翻译

 

 

 

 

 

 

【书君方案】 简洁、完整、漂亮、记忆深刻

 

 

 

 

 

 

©2022 BLUBN.HonL   京ICP备15053931号   书君   bookfooked.com V1.1