Linux 编辑器(一)--vi(vim) -visual editor (improve)

转载 2012年03月27日 21:47:49

启动vi(vim)
vi/vim filename:从filename第一行开始编辑,即光标默认停留在文件第一行第一个字符处;
+n filename:从第n行开始编辑;
+ filename:从最后一行开始编辑;
+/pattern filename:从第一个包含字符串“pattern”的行开始编辑。
-r filename:在系统崩溃后恢复filename;
-R filename:以只读方式编辑filename,等同于命令view filename。

vi的三种工作模式:命令模式(也称普通模式)、插入模式与末行模式(命令模式下输入:后进入)。

命令模式下的命令

i:在当前光标插入文本;
I:在所在行行首插入文本;
a:在当前光标后添加文本;
A:在当前行尾添加文本;

k、方向键上:光标上移;
j、方向键下:光标下移;
-:光标到上一行的行首;
+:光标到下一行的行首;
h、Backspace、方向键左:光标左移;
l、Space、方向键右:光标右移;
0、^:光标到行首;
$:光标到行尾;
w:光标移到下一单词,标点符号视为单独一个单词;
W:与w相似,标点符号视为单词的一部分,以空格为分隔;
b:光标移到上一个单词;
B:与b相似,只以空格为间隔,无视标点符号;
e:光标移到当前单词末;
E:与e相似,无视标点符号;
(:光标移到上一个句子的开始;
):光标移到下一个句子的开始;
{:光标移到上一段落的开始;
}:光标移到下一段落的开始;
H:光标移到屏幕顶部第一行的最左端;
M:光标移到屏幕中间;
L:光标移到屏幕的尾部。

x、dl:删除当前字符;
X:删除当前光标左侧字符;
d0:从行的开始处删除;
D、d$:删除到行的末尾;
d^:从行开始的第1个字符开始删除(不包括空格和TAB);
dw:删除到单词的末尾;
d5w:删除到第5个单词的末尾;
dtc:删除到当前行字符c的下一次出现;
dfc:删除到当前行字符c的下一次出现(包括c);
d/word:删除到单词word的下一次出现;
d3{:从前面的第3段删除到当前位置;
d{:从本段的开始位置删除到当前位置;
db:从单词的开始处删除;
dW:删除到以空白为分隔的单词的末尾;
dB:从以空白为分隔的单词的首字符开始删除;
d5B:从以空白为分隔的前面第5个单词的首字符开始删除;
d):删除到句子的末尾;
d4):删除到第4个句子的末尾;
d}:删除到段落末尾;
d4}:删除到后面的第4段末尾;
dd:删除一行;
3dd:删除当前行开始的3行;
dL:删除到当前屏幕的最后一行(包括最后一行);
dH:从当前屏幕的第一行开始删除。

C:删除到行的末尾,并进入插入模式。
cxx:删除指定的内容并进入插入模式。xx后缀与d命令的后缀相同。

~:更改大小写;
3~:从当前字符开始更改3个字符的大小写;

s:用一个或多个字符替换当前光标位置处的字符;
S:用一个或多个字符替换当前行;
10s:用一个或多个字符替换当前字符开始的10个字符;

J:把当前行的末尾与下一行连接起来并以一个空格分隔,如果当前行以句点“.”结尾,则两行之间插入两个空格;

.:句点命令,重复执行最近一次的修改命令。

u:撤销上一次的编辑操作;
U:撤销对当前行的所有修改,将文本恢复到启动修改之前的状态
Ctrl+R:重复命令,即redo。

f:从当前光标开始查找指定的字符,并将光标移动到该字符出现的位置,可以d、c合用;
3fq:光标移到本行第三个字符q所在位置;
F:从本行开始位置到当前光标所在位置之间查找字符。

行号+G:定位到指定的行,若不指定行号,则默认定位到最后一行。

y:复制到通用缓冲区,与移动命令合用,如y2l,与d、c后缀相同。yy复制一行,3yy复制3行;
Y:等同于yy。

p:把通用缓冲区的内容粘贴到当前位置,删除命令或复制命令都会把文本存入通用缓冲区中;
P:把通用缓冲区的内容粘贴到当前字符之前。

Ctrl+G:显示文件状态。

ZZ:保存并退出。

/+字符串:查找字符串;
n:向后重复上一次搜索;
N:向前重复上次搜索。

Ctrl+w+s:水平拆分窗口;
Ctrl+w+n:打开新窗口编辑一个空文件;
Ctrl+w+w:实现在多个窗口之间的切换。

Ctrl+L:重绘屏幕。

Ctrl+y:向上滚一行;
Ctrl+e:向下滚一行;
Ctrl+u:向上滚动半屏;
Ctrl+d:向下滚动半屏;
Ctrl+b:向上滚动整屏;
Ctrl+f:向下滚动整屏。

末行模式下的命令

: [address] r [filename]:把文件内容插入到当前缓冲区,address可以是行号,未指定行号时默认插入到当前光标所在行的下方,未指定文件名时默认再次读入当前文件;
: [address] w [filename]:把缓冲区的部分或全部内容写入到磁盘,例::3,8 w temp把3~8行的内容写加到temp文件里。:4,10 w >> temp把4~10行内容追加到temp文件里;

:f:显示文件状态,等同于命令模式下的Ctrl+G。

:undo:撤消命令,等同于命令模式下的u;
:redo:重复命令,等同于命令模式下的Ctrl+R。

:w:保存缓冲区的内容,但不退出;
:w filename:另存为;
:q:退出;
:wq:保存并退出;
:q!:不保存而退出。

:set noincsearch:设置普通查找,当输入/+字符串并按回车键开始查找;
:set incsearch:设置增量查找,每输入一个字符vi便高亮显示匹配的位置。

:[g] [address] s/search/replacement [/option]:替换字符串。g表示对所有匹配结果进行替换,否则只对第一次查找结果进行替换。address表示查找的范围,不指定则只搜索当前行。

:split:窗口水平拆分,可以多次拆分;
:split filename:水平拆分窗口,并在新窗口中载入指定文件;
:vsplit:窗口垂直拆分;
:vsplit filename:垂直拆分窗口,并载入指定文件。
:only:关闭除当前窗口之外的窗口;
:q:关闭当前窗口;
:qall:关闭所有窗口。

:sh:启动一个Shell,在该Shell里输入exit或Ctrl+d退出Shell回到vi;
:!command:执行外部命令。

:'标记:字符“'”,标记当前行,例::'t把该行标记成t;(博主用该命令时得到错误“E20 没有设定标记”。)
:`标记:字符“`”,使用标记,例如标记t存在时,命令:d't删除该行。

:help:获得帮助。

如何使vi编辑器一打开就显示行号及取消按空格显示颜色

//最近学了在linux下写c语言代码,当然也是用vim编辑器啦,在看老师写代码的时候,发现老师的vi编辑器一大开就会自动显示行号了,刚开始还觉得有行号看起来很眼花缭乱的,但是在编程序的时候才发现,每...
  • u013623867
  • u013623867
  • 2014年02月10日 00:48
  • 2015

vim代码智能提示功能及相关配置

转自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646455.html vim 代码提示功能,让vim可以媲美IDE v...
  • shanliangliuxing
  • shanliangliuxing
  • 2013年04月28日 14:59
  • 6524

vim下编辑readonly文件解决方案

(原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任) 原始出处:http://liuyu.blog.51cto.com/183345/30397...
  • Lmikic
  • Lmikic
  • 2015年08月17日 17:29
  • 7507

第17节-文本编辑器vi

vi的使用 vi分为三种模式: 1.一般模式 以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移...
  • shenninghong
  • shenninghong
  • 2017年07月24日 16:21
  • 87

高效率编辑器 VIM-操作篇[转载]

原文链接:http://jmcpherson.org/editing.html 翻译链接:http://linuxtoy.org/archives/efficient-editing-with-...
  • sambrown123
  • sambrown123
  • 2013年04月09日 11:26
  • 392

高效率编辑器 VIM-操作篇

插入操作 “i” — 从光标所在位置前开始 “I” –光标移到当前行的行首,然后在其前插入文本 “a”– 光标当前所在位置之后追加新文本 “A” –命令将把光标挪到所在行的...
  • wjf1991wjf
  • wjf1991wjf
  • 2015年11月21日 13:52
  • 185

第18节-程序编辑器vim

vim介绍 vim是vi的增强版,它包含了vi的所有功能,使用方式,还有额外的新功能,方便使用。 使用方法 用法:vim 文档文件 [root@node1 ~]# vim inde...
  • shenninghong
  • shenninghong
  • 2017年07月24日 16:54
  • 75

高效率编辑器 VIM-操作篇,非常适合 VIM 新手

虽然从很久前就开始用 VIM 了,但一直都是半调吊子,翻来覆去只用自己会的命令。最近为了提高书写代码的效率,还有 coding 时候的乐趣,又重新钻研了一下 VIM,发现了一篇很好的 VIM 入门的文...
  • han_jiang_xue
  • han_jiang_xue
  • 2013年07月25日 14:28
  • 515

高效率编辑器 VIM-操作篇,非常适合 VIM 新手

原文地址:https://linuxtoy.org/archives/efficient-editing-with-vim.html
  • svitter
  • svitter
  • 2014年04月28日 22:25
  • 597

高效率编辑器 VIM-操作篇,非常适合 VIM 新手

https://linuxtoy.org/archives/efficient-editing-with-vim.html/2 有效的移动大段的文本 使用可视选择(visual sel...
  • boyhailong
  • boyhailong
  • 2014年03月18日 09:27
  • 666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux 编辑器(一)--vi(vim) -visual editor (improve)
举报原因:
原因补充:

(最多只允许输入30个字)