标签为“vim”的页面如下
文章
Vim 进阶1
##Vim 进阶[1]##
:g/pattern 寻找(移动)文件中最后一次出现pattern的地方。
:g/pattern/p 寻找并显示文件中所有包含pattern的行
:x 写入文件同时离开编辑器。只有文件被修改过时才会写入。
:g/pattern/s/old/new/g这种语法让你搜索一个模式,在找到包含模式的某一行时,对另外一个字符做替换。
vaw 选中当前单词
vawp 选中当前单词并用寄存器中的覆盖
文章
vim 宏
##扯淡 用过Markdown的同学都应该知道,其换行语法为在行尾加两个空格。
今天在用Markdown写东西的时候,需要从txt文件中黏贴大量文本。如果我想让其正常的显示换行,就需要在每一行的末尾加上两个空格。一行行添加,太麻烦了,很自然的想到了vim。
利用vim中ctrl+v命令可以进行批量的修改。但是在操作的过程中我发现这个命令好像无法批量添加空格。没招了。
下午的时候不忙,遂在群里提出了这个问题,力哥给了回复,利用vim的宏功能(教程)。
试了一下,果断实现了这个需求,简单实用很不错。下面简单介绍一下:
##正题 打开vim,输入一下内容:
aaa
bbb
ccc
ddd
录入宏:
1.按下esc进入“指令模式” 。
2.按下q表示即将进入宏录入,之后按下任意a表示名字为‘a’的宏。
3.然后进行你想录入的操作,我这里是想在每行的末尾添加两个空格,所以我进行的操作是:
A #在行尾插入
space,space #两下空格,在行尾插入两行空格
esc #进入“指令模式”
j #光标移至下一行
完成,最后重要的一步,退出宏录制,很简单,键入q。
到此,我需要录制的宏已经完成,接下来只需要重复执行这个宏就能实现我的需求。
我这里需要执行4次,我只要输入4@a,便可将名为2的宏执行4次。其中@之前是次数,@之后是宏的名字。 是不是很简单。
##拾遗 普通人的编辑利器——Vim
Vim的三种模式
文章
易忘vim命令1
%: **[括号匹配]**可以让光标从它当前所在的括号跳转到与它相匹配的括号上去 n+空格键 : 那个n表示【数字】,例如20。按下数字后在按空格键盘,光标会向有一栋这一行的n个字符。例如20+空格 则光标会向后面移动20个字符距离。
0:移动到这一行的最前面字符处
$:移动到这一行的最后面字符处
H:光标移动到这个屏幕最上方那一行的第一个字符
M:光标移动到这个屏幕的中央那一行的第一个字符
L:光标移动到这个屏幕的最下方那一行的第一个字符__
G:移动到这个文档的最后一行。
n+回车键 :n为数字。光标向下移动n行(常用)
?word:向光标之上寻找一个字符串名称为word的字符串。
:n1,n2s/word1/word2/g:n1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串取代为word2!举例来说,在100到200行之间搜索vbird并取代为VBIRD则:[:100,200s/vbrid/VBIRD/g]
1,$s/word1/word2/g:从第一行到最后一行寻找word1字符串,并替换
1,$s/word1/word2/gc :需要确认的替换。
删除、复制与黏贴 nx:n为数字,连续向后删除n个字符。举例来说,我要连续删除10个字符【10x】。
ndd:n为数字。删除光标所在的向下n列,例如20dd则是删除20列。
d1G:删除光标所在到第一行的所有数据。
dG:删除光标所在到最后一行的数据 d$:删除游标所在处,到该行的最后一个字符
d0:删除游标所在处到行首的字符
nyy,y1G,yG,y0,y$参考上文。
p,P:p为将已复制的数据在光标下一行贴上,P则为贴在游标上一行!
J:将光标所在列与下一列的数据结合成同一列。
**c:重复删除多个数据,例如向下删除10行【10cj】**
u:重复前一个动作。(常用)
Ctrl+r:重做上一个动作。(常用)
.:重复前一个动作,如果你想要重复删除,重复贴上等等动作。
文章
易忘vim命令2
ZZ:这是大写的Z,若档案没有改动,则不储存离开,若档案已经被更动过,则存储后离开!
:w [filename] 将编辑的数据储存成另一个档案
:r [filename] 在编辑数据中,读入另一个档案的数据。
:n1,n2 w [filename] 将n1到n2的内容储存成filename这个档案
:!command 暂时离开vi到指令模式下执行command的显示结果!例如[:!ls /home]即可在vi当中查看/home底下以ls输出的档案信息。
##区块选择## v:字符选择,会将光标经过的地方反白选择!
V:行选择,会将光标经过的行反白选择!
Ctrl+v:区块选择,可用长方形的方式选择资料
y: 将反白的地方复制起来
d: 将反白的地方删除掉
##多档案编辑##
:n 编辑下一个档案
:N 编辑上一个档案
:files 列出目前这个vim开启的所有档案
##多窗口功能##
:sp /etc/hosts 在分割窗口中打开新文件
ctrl+w+↑/j及ctrl+w+↓/j 在窗口之间移动:按键的按法是:先按下ctrl不放,再按下w后放开所有的按键,然后在按下j或向下箭头,则光标可移动到下方的窗口。
ctrl+w+q:关闭下方的窗口
##vim环境设定与记录:~/.vimrc,~/viminfo##
:set hlsearch :set nohlseach 设置搜索反白 :set autoindent :set noautoindent 是否自动缩排 :set backup 是否自动储存备份档 :set all 显示目前所有环境参数设定值。