Linux学习(四):vim编辑器

vim 被誉为“编辑器之神”,与之同时代的 emacs 被誉为“神之编辑器”。

                                                                            

目前emac还没入坑,今天把vim的东西总结总结,很长时间不用都彻底忘干净了。

Linux并不自带vim,自带的是vi,vim需要自己安装。vim是公认的vi最好的扩展。安装完vim后可以先运行vimtutor一下,如今的vimtutor有很好的中文版本(系统语言如果装的是中文),非常简单易懂。

一、vim的几种模式

  • 正常模式:刚进入vim后的模式,可以使用复制粘贴删除命令。(所有模式的中转模式

  • 命令行模式:shift  + ; 进入命令行。ESC退出命令行模式。

  • 插入模式:按i、a、o等都可以进入插入模式。ESC退出插入模式。

  • 可视模式:按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。ESC退出可视模式。

 

二、启动vim的几种方式

  • vim file:以默认模式打开文件

  • vim -c cmd file: 在打开文件前,先执行指定的命令;

  • vim -r file: 恢复上次异常退出的文件;

  • vim -R file: 以只读的方式打开文件,但可以强制保存;

  • vim -M file: 以只读的方式打开文件,不可以强制保存;

  • vim -y num file: 将编辑窗口的大小设为num行;

  • vim + file: 从文件的末尾开始;

  • vim +num file: 从第num行开始;

  • vim +/string file: 打开file,并将光标停留在第一个找到的string上。

  • vim -o file1 file2:水平分割窗口,同时打开file1和file2

  • vim -O file1 file2:垂直分割窗口,同时打开file1和file2

 

三、vim的几种方式下的快捷键:

命令行模式:

  • :e file --关闭当前编辑的文件,并开启新的文件。 如果对当前文件未保存,vi会警告。

  • :e! file --放弃对当前文件的修改,编辑新的文件。

  • :e+file -- 开始新的文件,并从文件尾开始编辑。

  • :e+n file -- 开始新的文件,并从第n行开始编辑。

  • :enew --编译一个未命名的新文档。(CTRL-W n)

  • :e -- 重新加载当前文档。

  • :e! -- 重新加载当前文档,并丢弃已做的改动。

  • :e#或ctrl+^ -- 回到刚才编辑的文件,很实用。

  • :f或ctrl+g -- 显示文档名,是否修改,和光标位置。

  • :f filename -- 改变编辑的文件名,这时再保存相当于另存为。

  • gf -- 打开以光标所在字符串为文件名的文件。

  • :w -- 保存修改。

  • :n1,n2w filename -- 选择性保存从某n1行到另n2行的内容。

  • :wq -- 保存并退出。

  • ZZ -- 保存并退出。(注意是大写)

  • :x -- 保存并退出。

  • :q[uit] ——退出当前窗口。

  • :saveas newfilename -- 另存为

  • :Sex -- 水平分割一个窗口,浏览文件系统

  • :Vex -- 垂直分割一个窗口,浏览文件系统

查找:

  • ?something: 在前面的文本中查找something;

  • /something: 在后面的文本中查找something;

  • n: 向后查找下一个;

  • N: 向前查找下一个。

替换:

  • :s/old/new - 用new替换当前行第一个old;

  • :s/old/new/g - 用new替换当前行所有的old;

  • :n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old;

  • :%s/old/new/g - 用new替换文件中所有的old;

  • :%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首;

  • :%s/$/xxx/g - 在每一行的行尾插入xxx,$表示行尾。

文字排版:

  • :ce(nter) 本行文字居中

  • :le(ft) 本行文字靠左

  • :ri(ght) 本行文字靠右

插入模式:

插入模式下为代码编辑的模式,也是最常用的模式。vim安装一些插件后不比一些IDE效果差。入门插件的安装可以参考我的另外一个blog即可,https://blog.csdn.net/pianzang5201/article/details/84751153

 

可视模式:

VI 中有三种 visual 模式:

  • 按 进入visual 模式,此时字符是最小单位;

  • 按 进入 visual line 模式,此时是最小的操作单位;

  •  ctrl + v 进入 visual block 模式,此时选中的区域是一个矩形

使用试图模式选中一部分之后进行,即可直接进行粘贴复制删除操作。

 

正常模式:

此模式下有太多快捷键了,肯定不需要全部记住。记住最常用的即可:

移动:

  • h或退格: 左移一个字符;

  • l或空格: 右移一个字符;

  • j: 下移一行;

  • k: 上移一行。

  • ------------------------------------------------------------------------------------------------------------------

  • b: 前移一个单词,光标停在上一个单词开头;

  • B: 移动到上一个单词开头,忽略一些标点;

  • ge: 前移一个单词,光标停在上一个单词末尾;

  • gE: 移动到上一个单词结尾,忽略一些标点。

  • ---------------------------------------------------------------

  • w: 后移一个单词,光标停在下一个单词开头;

  • W: 移动下一个单词开头,但忽略一些标点;

  • e: 后移一个单词,光标停在下一个单词末尾;

  • E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点。

  • ------------------------------------------------------------------------------------------------------------------

  • 0: 移动到行首;

  • ^: 移动到本行第一个非空白字符;

  • $: 移动到行尾;

  • ---------------------------------------------------------------

  • H: 把光标移到屏幕最顶端一行;

  • M: 把光标移到屏幕中间一行;

  • L: 把光标移到屏幕最底端一行;

  • ---------------------------------------------------------------

  • gg: 到文件头部;

  • G: 到文件尾部。

翻屏:

  • ctrl+b: 上翻一屏;

  • ctrl+f: 下翻一屏;

  • ctrl+u: 上翻半屏;

  • ctrl+d: 下翻半屏;

  • ctrl+e: 向下滚动一行;

  • ctrl+y: 向上滚动一行;

  • zt: 将当前行移动到屏幕顶端;

  • zz: 将当前行移动到屏幕中央;

  • zb: 将当前行移动到屏幕底端。

复制:

  • y: 复制在可视模式下选中的文本;

  • [n]yy or [n]Y: 复制光标以下n整行文本;

  • ygg: 复制光标以上的所有行;

  • yG: 复制光标以下的所有行。

粘贴:

  • p: 在光标之后粘贴;

  • P: 在光标之前粘贴。

删除:

  • d0: 删除(剪切)当前位置到行首的内容

  • d$ or D: 删除(剪切)当前位置到行尾的内容

  • dgg: 剪切光标以上的所有行;

  • dG: 剪切光标以下的所有行;

  • d: 删除(剪切)在可视模式下选中的文本;

  • [n] dd: 删除(剪切)1(n)行。

插入:

  • i: 在光标前插入;tip:按10,再按i,进入插入模式,输入=, 按esc进入命令模式,就会出现10个=;

  • I: 在当前行第一个非空字符前插入;

  • a: 在光标后插入;

  • A: 在当前行最后插入;

  • o: 在下面新建一行插入;

  • O: 在上面新建一行插入。

撤销和重做:

  • u: 撤销;

  • ctrl + r: 重做最后的改动;

  • :earlier 4m -- 回到4分钟前;

  • :later 55s -- 前进55秒。

 

---------------------------------------------------------------------------------------------------

附:以下是vim快捷键的图

---------------------------------------------------------------------------------------------------

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值