导航:首页 > 文档加密 > vim实用技巧pdf

vim实用技巧pdf

发布时间:2023-02-05 18:07:06

A. Vi/Vim 使用小窍门,如何消除搜索后的关键字高亮

输入:”:noh“。

使用技巧

1、使用 h、j、k、l

命令模式时,可以用 h、j、k、l 来分别实现左、下、上、右箭头的功能。

2、快捷指令

(1)[Ctrl] + [b] 屏幕‘向上’移动一页,相当于 [Page Up] 按键。

(2)[Ctrl] + [d] 屏幕‘向下’移动半页。

(3)[Ctrl] + [u] 屏幕‘向上’移动半页。

(4)/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可。

(1)vim实用技巧pdf扩展阅读

简介

vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。

同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。

发展历程

Bram Moolenaar 在 80 年代末购入他的Amiga计算机时,Amiga 上没有他最常用的编辑器vi。Bram 从一个开源的 vi 复制 Stevie 开始,开发了 Vim 的 1.0 版本。最初的目标只是完全复制 vi 的功能,那个时候的 Vim 是Vi IMitation(模拟)的简称。

1991 年 Vim 1.14 版被 "Fred Fish Disk #591" ——Amiga 用的免费软体集收录了。1992 年 1.22 版本的 Vim 被移植到了 UNIX 和MS-DOS上。从那个时候开始,Vim 的全名就变成 Vi IMproved了。

B. vim编辑器的使用以及常用快捷键

一般模式英文键盘模式下输入i进入编辑模式;
编辑模式下按下esc回到一般模式;
一般模式下输入:或者/进入命令模式
命令模式下按下esc或者按下enter键命令执行完成后也会回到一般模式

进入vim编辑器: vim 文件名.后缀
退出vim编辑器:
1. :q 退出,如有修改会被提示已修改文件内容
2. :q! 强制退出,不保留修改内容
3. :wq 保存修改内容并推出

C. vim模式与模式切换vim命令模式

vim有三种模式,本文介绍VIM模式与vim模式切换的方法。

vim命令 模式, 编辑模式 , 尾行模式 和文本编辑命令。

Vim编辑模式插入字符,行尾、行首插入,删除一个字符和删除整行命令,Vim复制和粘贴命令,vim替换输入以及撤销和反撤销命令,Vim保存和另存为文件,显示vim当前编辑文件名。

我们使用vim编辑器的常用文件操作主要是:插入、删除、复制、粘贴、替换、撤销、保存、另存为。

在介绍Vim中的上述基本文件操作命令前,需要先介绍下vim的操作模式。因为vim的各种对文件操作命令需要在不同操作模式下使用。

一、Vim三种操作模式

Vim编辑器一共有3种模式,分别为 命令模式 (默认)、编辑模式、尾行模式。这3种模式的转换关系如下图所示。

vim三种模式

1 命令模式(command mode)

命令模式是Vim的默认操作模式,当使用vim命令打开一个文件时,默认进入的就是命令模式。不管用户处于何种模式,只要按下Esc键就可使进入命令行模式

2 编辑模式(input mode)

只有在vim编辑模式下,才能将键盘键入的内容输入到当前打开的文件中

在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本编辑模式

3 尾行模式(last line mode)

尾行模式主要用于保存文件或退出Vim,同时也可以设置编辑环境和一些编译工作,如列出行号(set nu)、寻找字符串(/target)等

在命令模式下,用户按冒号键(:)即可进入末行模式下,此时Vi会在显示窗口的最后一行显示一个”:“作为末行模式的提示符,等待用户输入命令

二、Vim文本编辑命令

约定:在没有特殊说明的情况下,以下Vim编辑命令部分提到的命令均是在命令模式下使用。

1 vim插入命令

在命令模式下按以下按键可进入编辑模式,执行插入操作,具体包括:

从光标当前所在行的【行首】处开始插入:I

从光标当前所在行的【行尾】处开始插入:A

从光标当前所在行的【下一行】处开始插入:o

从光标当前所在行的【上一行】处开始插入:O

从光标当前所在位置的【前】一个字符处开始插入:i

从光标当前所在位置的【后】一个字符处开始插入:a

tips:i (insert)是在当前位置插入,a (append)表示是在后面追加

2 vim删除命令

在命令模式下按以下按键可执行删除操作,具体包括:

删除从光标所在位置到当前【单词结束】部分的内容并进入插入模式:cw、cW

删除从光标所在位置到当前【单词开始】部分的内容并进入插入模式:cb、cB

删除从光标所在位置到当前【单词结束】部分的内容但不进入插入模式:dw、dW

删除从光标所在位置到当前【单词开始】部分的内容但不进入插入模式:db、dB

删除光标位置的【一个】字符:x

删除当前光标所在【行】:dd

删除从光标所在位置到当前【行首】的内容:d0

删除从光标所在位置到当前【行尾】的内容:d$

tips:

(1) Vim的命令中,0 表示行首,$ 表示行尾,更多内容可参考卡拉图Vim操作范围、文件范围介绍

(2) w(word)、b(back)命令用于光标移动,具体可参考卡拉图:vim光标移动命令汇总

(3) cW、cB、dW、dB 命令操作的单词是以空白字符(空格、Tab)分隔的字符串

删除当前【段落】从光标位置开始到【段末】的内容:d}

删除当前【段落】从光标位置开始到【段首】的内容:d{

删除当前【句子】从光标位置开始到【句末】的内容:d)

删除当前【句子】从光标位置开始到【句首】的内容:d(

tips:Vim命令中用 ( 和 ) 表示句子,{ 和 } 表示段落

3 vim复制命令、vim粘贴命令

在命令模式下按以下按键可执行复制、粘贴操作,具体包括:

将最后一次删除或复制操作的文本内容粘贴到光标所在字符之【后】:p

将最后一个删除或复制操作的文本内容粘贴到光标当前字符之【前】:P

复制从光标所在位置到当前【单词结束】部分的内容:yw

复制光标所在【行】的所有字符 (包含换行符):yy

tips:yyp 操作可以实现复制一整行内容到当前所在行的下一行

4 vim替换命令

在命令模式下按以下按键后,再输入字符可替换原始文件中的内容

一直替换光标所在字符,直到按下[ESC]键为止:R

删除、复制操作的操作单位可以加操作次数,操作对象的范围为:操作次数 * 操作单位

替换光标当前所在字符一次:r

例如:d3w命令表示删除三个单词,10dd命令表示从光标所在行开始删除后面的十行,更多内容可以参考Vim中的操作符和动作命令。

5 vim撤销命令、vim回退反撤销命令

在命令模式下可执行撤销操作

撤销最近的一次操作:u

恢复最近的一次操作(取消撤销):<Ctrl> + r

tips:多次执行u 命令可以连续撤销最近的操作

6 vim保存命令

在尾行模式下执行以下命令可保存当前编辑的文件内容

保存当前编辑的文件::w

保存当前编辑的文件并退出vim::wq

强制将当前编辑的文件保存::w!

tips:上述操作是在尾行模式下执行的,所以命令都是以:开头

7 vim另存为命令

在尾行模式下执行命令 :w a.txt 可将vim当前打开的文件另存为新文件a.txt.

tips:w(write) 表示将文件存档,: 表示尾行模式命令。

8 vim显示当前文件名的方法

命令 <Ctrl> + g 可显示当前编辑文件名及行数,可以在不退出 Vim 的情况下了解当前编辑文件的信息,更多内容,可参考30个vim常用命令和使用 vim技巧 。

Vim入门级文件编辑命令汇总就先介绍到这里了,更多Vim文件编辑命令和Vim相关操作可阅读本站其它文章内容。

D. vim操作技巧

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

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

在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版》 ,有兴趣的同学可以买一个本来看看,真的很不错哦!

E. Vim实践技巧二:为指定的行末尾批量修改

有一个PHP文件,由于某些原因,每行的最后分号结束符丢失,我们期望将其批量补全。
原数据:

期望数据:

这里涉及两个问题:
1、只要2-4行需要在末尾添加分号
2、每个行的字符串长度均不一致
解决思路:
1、方式一:通过视图模式将需要修改的块进行选中然后批量修改
2、方式二:通过命令行模式追回

步骤:
1、光标在第二起始,按下 ctrl+v 进入视图模式的块选择
2、按下 jj$ ,把需要的块进行选择
3、按下 A ,进入修改状态,输入 ;
4、按下Esc退出,完成

释义:
1、 ctrl+v 是进入块选择模式
2、 jj 向下选择两行, $ 执行到末尾
3、A进行修改模式,输入自己的需要的内容
4、一定需要按 Esc 退出,完成整个块的修改

在命令模式下,输入:

释义:
1、:normal 可在命令行命令下切换到普通模式
2、在普通模式下,执行 A; 指令,可以在行尾添加一个 ;

F. Vim实践技巧一:为每行数据前面添加行号

最近在写Thrift文件时,从其他地方拷贝过来的数据,没能带上行号,这样子得手工一行行添加行号,比较费时费力。
原数据:

期望数据:

这里涉及两个问题:
1、只要2-4行需要自动添加行号
2、需要在Vim编辑器上执行
解决思路:
1、在Vim命令模式下指定行数
2、通过外部命令Awk可以自动生成行数

在vim的命令行模式输入:

就可以实现上述目的

释义:
1、指定行数:2,4
只要2-4行
2、执行外部命令:!awk '{print " "NR":" 2}'
!awk:执行外部命令awk
NR:行数。这里是NR行数与Vim行数不一样,而是我们输入的指定内容行行数,即2-4行内容

G. 怎么用VIM阅读PDF文件

VIM是文本编辑器,不支持阅读PDF文件。
要阅读PDF文件请用Adobe Acrobat XI Pro或Adobe Reader XI 软件。

阅读全文

与vim实用技巧pdf相关的资料

热点内容
数控车智能编程 浏览:979
php正则表达式匹配任意字符 浏览:320
在文件夹什么word文档 浏览:991
刺激爱情片 浏览:644
电影迷途少女微笑片段 浏览:722
现在还有什么网站能看 浏览:161
韩国电影在哪个视频看 浏览:808
android观察者模式使用 浏览:567
服务器03系统和08有什么区别 浏览:723
程序员都是如何自学的 浏览:938
迅雷影院类似的网站 浏览:492
韩国电影吻戏电影推荐5个小时合集 浏览:82
有一部小说女主角叫苏 浏览:299
一女主多男主的小说在线阅读 浏览:810
电影院的人可以携带多大孩子 浏览:630
云服务器nginx集群怎么弄 浏览:741
热感1975在线观看 浏览:205
女主被几个男主囚禁,逃跑4年后回来 浏览:126
都市绝世战神叶凌天 浏览:754
拍摄指南txt百度云下载 浏览:829