vim操作技巧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim操作技巧相关的知识,希望对你有一定的参考价值。

参考技术A 不知不觉使用vim已经有一些时间了,也算得上真正掌握使用技巧了吧。想不起来当初为什么去学习这个编辑器,也不记得怎么学会使用编辑文件,只记得当初按完所有的键盘按键都没有退出vim。一颗种子要经过多少风雨才能长成参天大树,一条小溪要经过多少高山河流才能汇入大海。我们平常学习一样东西,要经过多少困难,多少挫折,只有自己最清楚。

普通编辑器都可以直接打开文件进行编辑、保存、使用快捷键等等,vim也具备这些功能,但是有些功能要在特定模式下才能使用。也是因为这些模式,让vim学习路线变得特别比较陡峭。vim具有多种模式,每种模式都有特定功能,有时你需要某些功能时,特意切换到指定模式下操作。使用键盘就可以随意切换模式,让vim不依赖鼠标操作,使用最小化组合键的操作,编辑效率大大提高。

这个模式主要功能,可以使用移动命令,扩大高亮的文本区域。输入命令将直接作用于选中文本区域。这就相当于你用鼠标选中一段文本区域,可以使用可以使用命令进行,复制、剪切、修改操作,但是vim并不需要鼠标。

这个模式要在可视模式下才能进入,可以直接使用退格键或者空格键删除选中文本区域,或者直接输入新的文本,替换选中高亮区域进入插入模式。

平常在使用vim主要是在普通模式、插入模式、可视模式、命令模式进行操作,掌握这里基本就可以熟悉使用vim了。

掌握这些快捷键,移动光标得时候,手机基本不会离开核心键盘区,有没有像 w , a , s , d 移动角色的感觉🙂。

要想编写文本内容,还必须在插入模式下进行操作,以下命令由普通模式进入到插入模式

d 删除字符(delete), d 本身没有任何涵义,但是它可以跟其他命令组合,完成一些快速操作。

<font size=5>操作符 + 动作命令 = 操作</font>

d<span style="color:red;">motion</span> 命令可以对一个字符 dl 、一个完整单词 daw 或
一整个段落 dap 进行操作,它作用的范围由动作命令决
定。c<span style="color:red;">motion</span>、y<span style="color:red;">motion</span> 以及其他一些命令也类似,它们被统称为操作符(operator)。

<center>Vim的操作符命令</center>

看着上面删除操作,是不是很容易理解操作符 + 动作命令 的模式,比如我们已经知道 daw 删除整个单词, gU 反转大写,我们就可以使用 gUaw 反转整个单词, gUap 反转整个段落大写

由于vim中copy快捷键已经被change修改占用了,只能使用 y 代表复制(yank),粘贴(put)使用 p , d 其实是将内容剪切到寄存器中,剪切实现删除操作。 ddp 看起来是将两行位置互换,其实先剪切当前行到寄存器中, p 粘贴到光标下的位置。主要记住使用命令 y + 动作指令 或者 d + 动作指令,都是将文本暂存到寄存器中,使用 p 或者 P 进行粘贴。进行一个小demo练习,将变量field替换下面的函数参数foo。

思路: 先使用 yw 复制field字段,下移动foo中, dw 删除foo, P 粘贴。但是你会发现粘贴结构居然还是foo。这是因为 dw 将删除文本放入寄存器中,覆盖了上面copy的变量。我们平常复制,剪切的文本都会暂存再无名寄存器中。

在vim中的删除、复制、粘贴都是使用寄存器,可以使用 "registerName 方式命名寄存器。平时我们使用 dd , yy 命令,不指名寄存器名称默认使用无名寄存器。倘若没有指定要使用的寄存器,Vim将缺省使用无名寄存器,它可以用双引号表示(参见 :h quote_quote )。无名寄存器可以使用 "" 表示,比如 ""yy 相当于 yy , ""p 相当于 p

"[0-9]表示数字寄存器,数字越小表示最早在寄存器内容。例如 "0 表示第一个进入寄存器文本, "1 表示第二个进入寄存器内容,类似值栈结构,先进后出排列。可以使用 :reg 查看寄存器中内容。

在win系统中,可以在任意地方Ctrl c复制文本,vim是否可以粘贴非vim中复制内容?当然是可以的。 "+ 表示系统寄存器,可以读取系统vim之外的系统粘贴板中的内容,可以粘贴内容,复制到系统粘贴板中去。ubuntu上需要安装vim-gnome,才可以正常使用系统寄存器。

使用粘贴命令前面+寄存器名称,就可以直接使用专用寄存器中的内容了,例如 "+p 直接粘贴系统剪贴板中的内容。

在插入模式使用 <Ctrl r> + 寄存器名称粘贴字符文本。例如可以使用 <Ctrl r>" 粘贴无名寄存器中内容。

本文章有部分内容参考 《vim实用技巧第2版》 ,有兴趣的同学可以买一个本来看看,真的很不错哦!

vim使用技巧

vim使用技巧

1、vim高级功能

文本内容的局部选择与操作(普通模式)

操作         功能

 v            选择部分字符,在选择的第一个字符按”v”后移动光标,光标所经过处都会被选择   

 V            选择若干行,在选择的某行输入“V“,上下移动光标,光标经过行都会被选择   

Ctrl+v     选择块,将光标移动文档的某个位置,输入“ctrl+v“,屏幕下方会出现”-                                           VIMSUALBLOCK-“ 状态显示,移动光标,光标覆盖的矩形区域都会被选择    

 y              被选中的部分复制

 P              粘贴复制的部分

 d              被选中的部分删除

2、打开多个文件  

[[email protected] ~]#  vim -o /etc/passwd /etc/group

vim设置环境文件

[[email protected] /]# vim /etc/vimrc

3、折叠隐藏文本

当一个文档太长,而用户只需要处理其中的一部分,可以把不需要的行给折叠隐藏起来

设置方法:

1). 在末行模式下输入:set nu 显示行号

2). 在普通模式下输入v,进入可视模式,把光标向下移动选择你需要折叠隐藏的行号,选中后按zf键即可折叠隐藏文本。

4、vim多行注释

Ctrl+v 进入列模式,向下或向上移动光标,把需要注释的行标记起来,然后按大写I,再插入注释符,比如#,再按esc,就会全部注释,或者也可以运行以下命令:

  操作                        功能

:s/^/#                    #用”#” 注释当前行

:2,50s/^/#             #在2~50行首添加”#”注释

:.,+3s/^/#             #用”#”注释当前行和当前行后面的三行

:%s/^/#                #用”#”注释所有行

5、删除多行注释:

A 按下ctrl+v 进入列模式

B 选定要取消的注释符

C 按下”x”或者“d”(这样只删除1列)

6、vim环境设置

vim在使用中,设置环境也是一个重要的环节,在末行模式使用相关命令可以这是相关的环境

设置环境命令参数   

操作                                    功能

:set nu                                设置行号

:set nonu                            取消行号

:set hlsearch                       将搜寻的字符串高亮显示,hlsearch是默认值

: set nohlsearch                  将搜寻的字符串不高亮显示

:set autoindent                   设置自动缩排

:set noautoindent               取消自动缩排

:set backup                          设置自动备份,默认是nobackup,如果设置成backup,那么当更改文                                                   件时源文件会被另存成一个名为filename文件

:set nobackup                      取消自动备份文档

:set ruler                               在屏幕右下角显示状态行

:set noruler                           不在屏幕右下角显示状态行

:set showmode                     显示左下角的状态行

:set noshowmode                不现实左下角的状态行

:set backspace=(012)           在编辑模式下,设置退格键的功能,backspace为2时,可以删除任意值

                                            ,为0或1时,仅删除刚刚输入的字符,而无法删除原本就已经存在的字符

:set all                                    显示目前所有的环境参数设置值

:set                                        显示与系统默认值不同的设置参数

:syntax on                            设置文档依据程序相关语法显示不同的颜色

:syntax off                            取消文档依据程序相关语法显示不同的颜色

:set bg=light                        将文字显示为不同的颜***调,light是默认值

:set bg=dark                        将文字显示为不同的颜***调

[[email protected] ~]#  cat ~/.vimrc 用户的局部变量

"wangxing" 批注信息

set hlsearch # 高亮度反白

set backspace=2 # 可随时用退格键删除

set autoindent # 自动缩排

set ruler # 可显示最后一行的状态

set showmode # 左下角那一行的状态

set nu # 可以在每一行的最前面显示行号

set bg=dark # 显示不同的底***调

syntax on # 进行语法检验,颜色显示

7、末行模式

编辑完文件,需要对文件进行保存或退出时,需要按Esc键回到普通模式,在末行输入wq即可保存退出

末行参数 

操作                                功能

:w                                将编辑内容写入磁盘

:w!                               强制写入

:q                                 退出vim

:q!                                强制退出

:wq                              保存退出

:wq!                            保存强制退出

ZZ                               若文件未修改,则退出,若文件已修改,则保存退出

:w[filename]               将编辑的文件存到filename 这个文件中

:r[filename]                将编辑的文件中读入另一个文档的内容

:n1,n2w[filename]      将n1行到n2行的内容写到filename这个文件中

:!command                暂时退出vim到命令行下,执行command的显示结果

本文出自 “每天一小步” 博客,请务必保留此出处http://fenyuer.blog.51cto.com/11265169/1914615

以上是关于vim操作技巧的主要内容,如果未能解决你的问题,请参考以下文章

vim运维日常必备操作技巧(常用的全有)

linux中vi,vim操作技巧

vim 操作技巧

vim常用操作和使用技巧

linux下vim的使用以及高效率的技巧

vim技巧5 常用操作