vim编辑命令总结

news/2024/7/21 13:45:04 标签: 编译器, vim, linux
  1. 启动vim编译器

vim filename                打开原有的文件或创建一个新文件。

vim   打开一个新文件,在编辑过程中或结束编辑时再指定文件名。

vim r filename    恢复因意外停机或终端连接中断而未及时保存最终编辑结果的文件。

view filename    以只读方式打开文件。除了不能把编辑处理的最终结果写入文件保存之外,view的所有编辑功能均与vim无异。

  1. 光标定位命令

←↑↓→       将光标左移、上移、下移或右移一个字符(行)位置。

h j k l                   同上。

-       光标上移一行。

Enter键(或加号“+”)光标下移一行。

退格键        将光标左移一个字符位置。

空格键    将光标右移一个字符位置(命令模式)。

Ctrl+F   往下(文件结尾方向)滚动一屏。

Ctrl+B   往上(文件开始方向)滚动一屏。

Ctrl+D   往下滚动半屏。

Ctrl+U   往上滚动半屏。

Ctrl+E   编辑窗口中的文件内容整体上移一行。

Ctrl+Y   编辑窗口中的文件内容整体下移一行。

w    将光标右移一个字。光标停留在下一个字的字首位置。

W       将光标右移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。

b    将光标左移一个字。光标停留在下一个字的字首位置。

B    将光标左移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。

e    把光标移至当前所在字(或下一个字)的最后一个字符位置。

E    同上,只是以空格字符作为字的分隔符。

^    把光标移至当前行的起始位置,也即当前行的第一个非空白字符位置

0(零)    同上

$    把光标移至当前行的行尾,也即当前行的最后一个字符位置。

H    把光标移至编辑窗口顶部第一行的行首位置。

M    把光标移至编辑窗口中间一行的行首位置。

L    把光标移至编辑窗口底部最后一行的行首位置。

  1. 插入文本数据

a    在光标当前所在字符位置的后面输入文本数据。

A    在光标当前所在行的行尾(也即最后一个字符位置)后面输入文本数据。

i       在光标当前所在字符位置的前面输入文本数据。

I    在光标当前所在行的行首(也即在第一个非空白的起始字符)前面输入文本数据。

o    在光标当前所在行下面的行首位置输入文本数据。

O    在光标当前所在行上面的行首位置输入文本数据。

  1. 修改文本

C    替换当前文本行光标所在字符位置之后的所有数据,以Esc键结束。

cw    替换光标当前所在字符位置及之后的整个字或部分字,以Esc键结束。

[n]cc   替换当前行,或从当前行开始的n行文本,以Esc键结束。

[n]s   替换光标当前所在位置的单个字符,或从光标当前位置开始的n个字符,以Esc键结束。

S    替换当前行,以Esc键结束。

r    替换光标当前所在位置的单个字符。

r<Enter>    断行。也可使用“a”或“i”命令加EnterEsc键实现。

R    从光标当前所在的字符位置开始,替换随后的所有字符,直至按下Esc键。

xp    交换字符位置。交换光标当前所在位置开始字符位置。

~    转换光标当前所在位置字符的大小写。

u    撤销最近一次执行的编辑命令,或依次撤销先前执行的编辑命令。

:u                            同上(ex编辑命令)。

U                            撤销施与当前文本行的编辑处理。

  1. 删除文本

[n]x   删除光标当前所在位置的字符,或删除从光标当前位置开始的n个字符。

[n]X   删除光标当前所在位置的前一个字符,或删除光标当前所在位置之前的n个字符。

dw    删除光标当前所在位置的一个整字或部分字符。如果光标在字首,则删除整字。如果光标在字的中间任何位置,则删除光标位置之后的字符。

[n]dd   删除光标当前所在的文本行,或删除从当前行开始的n个文本行。

D    删除当前文本行从光标位置开始之后的所有字符。

dG    删除从当前行开始直至文件最后一行的所有文本行。

d[n]G   删除从文件的第n行开始直至当前行的所有文本行。

:line#1,line#2 d    删除从指定的行号line#1line#2之间的所有文本行。

  1. 复制与移动文本

[n]yy   复制光标当前所在的文本行,或从当前行开始的n个文本行。

[n]Y                        同上。

p(小写)    把复制或删除(“dd”命令)的文本行粘贴到光标所在行的下面。

P(大写)    把复制或删除(“dd”命令)的文本行粘贴到光标所在行的上面。

:line#1,line#2 co line#3    把第line#1~line#2行复制到第line#3行之后。

:line#1,line#2 m line#3    把第line#1~line#2行移至第line#3行之后。

  1. 设置行号显示

:set nu   在编辑期间增加临时行号。

:set nonu   撤销行号显示(默认情况)。

Ctrl+G   显示当前文件的名字和当前文本行的行号。

  1. 设置大小写字母检索准则

:set ic                        检索字符串时忽略字母的大小写。

:set noic   检索字符串时严格区分字母的大小写(默认情况)。

  1. 定位文本行

G                            将光标移至文件的组后一行。

[n]G                        将光标移至文件的第n行。

  1. 检索与替换

:/string                        向前(文件结尾方向)检索指定的字符串。

:?string                     向后(文件开头方向)检索指定的字符串。

n                            将检索方向找出下一个匹配的字符串。

N                            逆检索方向找出前一个匹配的字符串。

:[g]/search/s//replace/[g][c]    检索并替换字符串。

  1. 清除屏幕

Ctrl+L   清除因其他进程的输出信息而干扰的编辑窗口。

  1. 合并文件与合并行

:r filename                    在光标所在行之后插入指定文件的内容。

: line#1 r filename            在第line#1行之后插入指定文件的内容。

J    把相邻的两个文本行个并为一行(把下一行合并到光标当前所在行的后面)。

  1. 保存编辑结果与退出vim编辑器

:w    保存编辑处理后的结果(把内存缓冲区中的数据写到文件中)。

:w!   强制保存编辑处理后的结果。

:wq   保存编辑处理后的结果,然后退出vim编辑器。

:wq!   强制保存编辑处理后的结果,然后退出vim编辑器。

ZZ    保存编辑处理后的结果,然后退出vim编辑器。

:q    在未做任何编辑处理时,可以使用此命令退出vim编辑器。

:q!   强制退出vim编辑器,放弃编辑处理后的结果。

:w filename    把编辑处理后的结果写到指定的文件中保存。

:w! filename    把编辑处理后的结果强制写到指定的文件中保存,即使文件已经存在。

:wq! filename    把编辑处理后的结果强制写到指定的文件中保存,即使文件已经存在,然后退出vim编辑器。

  1. 其他

;f Ctrl+G    显示文件的名字、编辑状态、文件总的行数、光标当前所在行号和列号,以及当前行之前的行数占整个文件总行数的百分比。

Ctrl+V                        输入控制字符。


http://www.niftyadmin.cn/n/878558.html

相关文章

python socket sendto函数_python之socket网络编程

socket函数介绍socket.socket(familyAF_INET, typeSOCK_STREAM, proto0, filenoNone)Create a new socket using the given address family, socket type and protocol number. The address family should be AF_INET (the default), AF_INET6, AF_UNIX, AF_CAN or AF_RDS. The…

Swift语言一览

&#xfeff;&#xfeff;译自苹果Swift官方文档《The Swift Programming Language》第一章“A Swift Tour”。 依照传统&#xff0c;对于一门新的编程语言&#xff0c;第一个程序都是以在屏幕上输出“Hello,World”为例。在Swift编程语言中&#xff0c;我们可以用下面一行语句…

云计算为什么能用python_云计算为什么会用到Python编程语言

众所周知云计算不是一种全新的网络技术&#xff0c;而是一种全新的网络应用概念&#xff0c;云计算的核心概念就是以互联网为中心&#xff0c;在网站上提供快速且安全的云计算服务与数据存储&#xff0c;让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心。通过…

里氏替换原则_OOP七大设计原则的Python实现--里氏替换原则

OOP七大设计原则的Python实现里氏替换原则什么是里氏替换原则&#xff1f;如果对每一个类型为S的对象O1&#xff0c;都有类型为T的对象O2&#xff0c;***使得以T定义的所有程序P*** 在所有的对象O1都替换成O2时&#xff0c;程序P的行为没有发生变化&#xff0c;那么类型S是类型…

华硕路由器安装aria2_流畅稳定功能强大,家长好助手,华硕RT-AC68U路由器体验...

路由器作为现代智能家居的核心&#xff0c;稳定性与性能直接影响着我们的体验&#xff0c;缺一不可&#xff0c;毕竟目前一个家庭除了大量的手机、平板、台式机、笔记本等等智能产品&#xff0c;类似智能摄像头、智能灯具、电器等等产品也是越来越多&#xff0c;那么对网络带宽…

如何在菜单弹出的对话框上画图vc++_Excel技巧 | 如何限制用户可编辑区域

在日常办公中&#xff0c;我们经常会做一些Excel表格&#xff0c;其中有部分数据是相当重要的&#xff0c;往往我们希望这部分数据可以保护起来避免别人阅读的时候进行修改&#xff0c;那这时候我们就需要对这一范围设置访问权限&#xff0c;禁止别人随意的改动。那怎么才可以设…

python sasl 0.2.1 cp36 whl_Win7,Python3链接hive的各种问题(impyla)

pip install saslerror: Microsoft Visual C 14.0 is required. Get it with “Microsoft Visual C Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools此错误需要安装Visual Studio安装地址&#xff1a;https://pan.baidu.com/s/1WaBxFghTll6Zofz1DGO…

python x 0b1011_Python刷题:集合S(k)求|x-y|最小时的x和y(二进制)

题型叙述针对64位或32位系统的无标记整数x&#xff0c;我们在它的二进制表明中&#xff0c;把1的数量称之为x的权重。比如x7&#xff0c;它的二进制表明为0b111&#xff0c;因为有3个1&#xff0c;因此 x的权重便是3。用S(k)表明64位或32位系统整数中&#xff0c;权重为k的全部…