一、linux下vi编辑器命令大全
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的:
:qx开始记录宏,并将结果存入寄存器x
q退出记录模式
@x播放记录在x寄存器中的宏命令
稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模
式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@x20,可以重复20次。这个在文本的批处理中是非常有用的。
同时编辑多个文件
在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。
标签命令
:tabe fn在一个新的标签页中编辑文件fn
gt切换到下一个标签页
gT切换到上一个标签页
:tabr切换到第一个标签页
:tabl切换到最后一个标签页
:tabm [N]把当前tab移动到第N个tab之后
对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!
窗口命令
ctrl+w s水平分割窗口
ctrl+w w切换窗口
ctrl+w q退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)
ctrl+w v垂直分割窗口
其他
vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。
:e file把file加载到新的缓冲区中
:bn跳转到下一个缓冲区
:bd删除缓冲区(关闭文件)
:sp fn分割窗口,并将fn加载到新的窗口中
退出编辑器
:w将缓冲区写入文件,即保存修改
:wq保存修改并退出
:x保存修改并退出
:q退出,如果对缓冲区进行过修改,则会提示
:q!强制退出,放弃修改
查找替换
/pattern向后搜索字符串pattern
?pattern向前搜索字符串pattern
n下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N上一个匹配(同上)
:%s/old/new/g搜索整个文件,将所有的old替换为new
:%s/old/new/gc搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
**粘贴
dd删除光标所在行
dw删除一个字(word)
x删除当前字符
X删除前一个字符
D删除到行末
yy**一行,此命令前可跟数字,标识**多行,如6yy,表示从当前行开始**6行
yw**一个字
y$**到行末
p粘贴粘贴板的内容到当前行的下面
P粘贴粘贴板的内容到当前行的上面
]p有缩进的粘贴,vim会自动调节代码的缩进
"a将内容放入/存入a寄存器,可以支持多粘贴板
附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为"+p,注意此处的+不表示操作符,二十一个寄存器。
移动光标
在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。
h,j,k,l上,下,左,右
ctrl-f上翻一页
ctrl-b下翻一页
%跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处
w跳到下一个字首,按标点或单词分割
W跳到下一个字首,长跳,如end-of-line被认为是一个字
e跳到下一个字尾
E跳到下一个字尾,长跳
b跳到上一个字
B跳到上一个字,长跳
0跳至行首,不管有无缩进,就是跳到第0个字符
^跳至行首的第一个字符
$跳至行尾
gg跳至文件的第一行
gd跳至当前光标所在的变量的声明处
[N]G跳到第N行,如0G,就等价于gg,100G就是第100行
fx在当前行中找x字符,找到了就跳转至
;重复上一个f命令,而不用重复的输入fx
tx与fx类似,但是只是跳转到x的前一个字符处
Fx跟fx的方向相反
),(跳转到上/下一个语句
*查找光标所在处的单词,向下查找
#查找光标所在处的单词,向上查找
`.跳转至上次编辑位置
在屏幕上移动
H移动光标到当前屏幕上最上边的一行
M移动光标到当前屏幕上中间的一行
L移动光标到当前屏幕上最下边的一行
书签
ma把当前位置存成标签a
`a跳转到标签a处
编辑
r替换一个字符
J将下一行和当前行连接为一行
cc删除当前行并进入编辑模式
cw删除当前字,并进入编辑模式
c$擦除从当前位置至行末的内容,并进入编辑模式
s删除当前字符并进入编辑模式
S删除光标所在行并进入编辑模式
xp交换当前字符和下一个字符
u撤销
ctrl+r重做
.重复上一个编辑命令
~切换大小写,当前字符
g~iw切换当前字的大小写
gUiw将当前字变成大写
guiw将当前字变成小写
>>将当前行右移一个单位
<<将当前行左移一个单位(一个tab符)
==自动缩进当前行
插入模式
i从当前光标处进入插入模式
I进入插入模式,并置光标于行首
a追加模式,置光标于当前光标之后
A追加模式,置光标于行末
o在当前行之下新加一行,并进入插入模式
O在当前行之上新加一行,并进入插入模式
Esc退出插入模式
可视模式
标记文本
v进入可视模式,单字符模式
V进入可视模式,行模式
ctrl+v进入可视模式,列模式,类似于UE的列模式
o跳转光标到选中块的另一个端点
U将选中块中的内容转成大写
O跳转光标到块的另一个端点
aw选中一个字
ab选中括号中的所有内容,包括括号本身
aB选中{}括号中的所有内容
ib选中括号中的内容,不含括号
iB选中{}中的内容,不含{}
对标记进行动作
>块右移
<块左移
y**块
d删除块
~切换块中内容的大小写
二、linux系统除了vim、vi 还有什么比较好编辑器
PNEdit
PNEdit是一个类似于Vi的功能多样、用户可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。图形界面设计简洁方便让编辑窗口设置更加容易,快捷键和命令行操作方式使得文本编辑的速度和效率有所提高,内嵌的多个应用插件扩展了文本编辑功能。
Table of Contents
简介
窗口设置
编辑方式
快捷命令
应用插件
版本信息
参考资料
简介
PNEdit是一个功能多样、用户可定制的文本编辑器,支持tab分页和横向/纵向分割窗口等方式可同时对多个文件进行编辑,文本窗口中的颜色、语法、字体和高亮等属性有多种方式可以方便的设置。
PNEdit产品概述
PNEdit是一种支持多模式的文本编辑器,在不同编辑模式下操作行为有所不同,在对编辑的文本内容的选择会有多种选择方式,在文本编辑操作时主要依靠大量的快捷键命令操作来实现快速高效的文本编辑功能。
PNEdit文本编辑器中集成了目录浏览界面、高级编辑工具、高级搜索工具、编辑状态缓冲、编辑字符缓冲、编辑文件缓冲和编辑内容标记等应用插件以扩展文本编辑功能。
窗口设置
在PNEdit中可以支持同时对多个文件进行文本编辑,在编辑窗口中打开的文本内容其颜色、语法、字体和高亮等属性都可以根据不同需求做相应的设置,用户可以在PNEdit工具打开之后在界面中的菜单或按钮打开对应的设置窗口做设置,也可以将需要设置的参数记录在设置文件中。
PNEdit界面
1、编辑窗口
文本编辑窗口支持多Tab的方式同时打开多个文件进行编辑,在每个Tab窗口还支持横向分割和纵向分割的方式同时打开多个文件进行编辑。文本编辑窗口中可以显示该窗口中打开的文件编辑状态的信息,每个编辑窗口都有保存文件和未保存文件这两个编辑状态。文本编辑窗口下方有一行编辑信息小窗口,在该小窗口中分为三段信息显示,分别为编辑命令显示区间、当前光标所在的行列位置、当前光标所在位置对应占整个文件浏览内容的百分比。
2、颜色设置
支持类型设置和详细设置两种方式改变所有编辑窗口中的颜色。
3、语法设置
支持多种语法高亮显示当前编辑窗口中的文本内容。
4、字体设置
支持类型设置和详细设置两种方式改变所有编辑窗口中的字体。
5、高亮设置
支持对编辑窗口中的Cursor、Select、Insert、Edit、Search、List和Tag等项的设置。
6、设置文件
对编辑窗口设置的参数记录可以保存在一个文件中,该文件需命名为”.pnrc”,可以放在PNEdit工具启动目录、用户的Home目录和PNEdit工具包安装目录这三个地方,在PNEdit工具启动时自动读取该文件中的参数值,并将其作为工具打开时的初始值设置编辑窗口。
编辑方式
PNEdit是一种支持多模式的文本编辑器,在不同编辑模式下操作行为有所不同,在对编辑的文本内容的选择会有多种选择方式,在做具体编辑操作时主要靠大量的快捷键命令操作来实现快速高效的文本编辑功能。
1、编辑模式:PNEdit文本编辑器主要支持命令模式、输入模式和替换模式这3种不同的文本编辑方式。
命令模式,在该模式下文本编辑窗口的可输入编辑状态是关闭的,对文本内容进行编辑时可以通过鼠标键、单个快捷键、多个快捷键组合和命令行输入编辑命令这4种方式进行快捷的文件内容编辑操作。
输入模式,在该模式下文本编辑窗口的可输入编辑状态是打开的,对文本内容进行编辑时可以通过字符直接输入、鼠标键、单个快捷键、多个快捷键组合和命令行输入编辑命令这5种方式进行快捷的文件内容编辑操作。
替换模式,在该模式下文本编辑窗口的可输入编辑状态是关闭的,对文本内容进行编辑时可以通过快捷键”r”和快捷键”R”这2种编辑内容替换操作方式,分别对应替换光标所在字符和替换光标至行尾所有字符(碰到<Esc>键则退出替换模式)。
2、文本选择:PNEdit文本编辑器主要支持光标选择、字选择、行选择、段选择、全部选择和列选择这6种不同的文本内容选择模式。
光标选择模式,在对文本内容进行选择时先通过鼠标左键点击一个位置(即为选择内容的起始点),然后鼠标左键按住不动移动至下一个位置(即为选择内容的结束点),释放鼠标左键则会高亮从起始点到结束点的文本内容,表示该部分内容已被选中。
字选择模式,在对文本内容进行选择时用鼠标左键双击一个位置,释放鼠标左键则会高亮落在该位置上的字内容,表示该字内容已被选中。
行选择模式,在对文本内容进行选择时用鼠标左键三击一个位置,释放鼠标左键则会高亮落在该位置上的行内容,表示该行内容已被选中。
段选择模式,点击Edit菜单中的”Select”项下的”Paragraph”子项或文本编辑窗口中的弹出式菜单中的”Select Paragraph”项,则会高亮落在当前光标所在位置上的段内容,表示该段内容已被选中。
全部选择模式,点击Edit菜单中的”Select”项下的”All”子项或文本编辑窗口中的弹出式菜单中的”Select All”项,则会高亮当前打开文件编辑窗口中的全部内容,表示该文本内容已被选中。
列选择模式,在进入列模式之后移动光标位置,在移动过程中即会实时高亮列选择的内容。列模式下选中的是一个块内容,块的起始和结束都有行和列两个坐标,分别对应进入列模式时光标所在位置的行列值和光标移动之后光标所在位置的行列值,落在这两个点内的块内容即为被选中的内容。
3、快捷命令:PNEdit文本编辑快捷命令有编辑选择、编辑输入、编辑更换、剪切**粘贴、编辑参数、文件操作、光标移动、文本替换和列模式编辑这9种类型的快捷键命令。
快捷命令
1、编辑选择:在文本编辑时可以使用快捷键对文本内容做选择。
2、编辑输入:在文本编辑时可以使用快捷键将编辑窗口的可输入状态打开,将文本编辑窗口切换到输入模式。在输入模式下,键入的任何字符都被视为文本并添加到文件中。按Esc键退出输入模式。通过这些插入/替换命令可以撤消。当'autoindent'打开时,表示当前行的缩进将自动**并应用于新行。
3、编辑更换:在文本编辑时可以使用快捷键对文本内容做出更换,通过这些命令插入/替换可以撤消。当'autoindent'打开时,当前行的缩进将被**和应用自动转到新行。
4、剪切**粘贴:在文本编辑时可以使用快捷键对文本内容做剪切、**和粘贴等操作。
5、编辑参数:在文本编辑时可以使用命令设置文本内容编辑时的一些常用参数。
6、文件操作:在文本编辑时可以使用输入命令在文本编辑窗口中直接打开文件,以及在编辑的内容中选择文件打开,这里可以设置相对路径搜索文件。
7、光标移到:在文本编辑时可以使用快捷键在打开的文本内容中做光标和窗口的跳转。
8、文本替换:在文本编辑时可以使用快捷键对文本内容做替换,搜索并替换整个文件或部分文件,[range]在这里可以是以下几种方式:1、.:当前行;2、n:第n行;3、.+n:当前行加n行;4、$:最后一行;5、 m,n:从第m行到第n行;6、'<,'>:选中的文本;在列模式下,搜索和替换只应用于所选的列内容。没有使用[range]的其替换仅在当前行和.'一样。
9、列模式编辑:在文本编辑时可以使用快捷键对文本列的内容做编辑操作,其操作方式是垂直执行的,执行的命令也是可以撤消的。
应用插件
PNEdit编辑器中还集成了目录浏览界面、高级编辑工具、高级搜索工具、编辑状态缓冲、编辑字符缓冲、编辑文件缓冲和编辑内容标记这7个应用插件。
1、目录浏览界面
当在编辑窗口中打开一个文件夹时即自动打开目录列表,显示当前层次的文件和文件夹,通过快捷键快速的浏览所有层次的目录结构,从目录列表中找出所要编辑的文件在窗口中打开。
2、高级编辑工具
可以使用All/Current-Line/Smart自动获取或直接输入需要编辑的位置,其支持在行或列模式的编辑,在行模式和列模式都支持剪切/**/连接/粘贴等操作,插入/更改操作仅限于列模式。
3、高级搜索工具
可以使用All/Current-Line/Smart自动获取或直接输入需要搜索和替换的位置,其支持在行或列模式下的搜索和替换,支持普通和正则表达式两种pattern方式。
4、编辑状态缓冲
对于每个正在编辑的窗口都会创建一个独立的编辑状态缓冲区用于记录在该窗口中所做的每个编辑操作,可以使用该缓冲区对正在编辑的状态做撤销、重做、跳转和清除等操作。
5、编辑字符缓冲
所有编辑窗口共用同一块编辑字符缓冲区,其包含1个通用字符串缓冲区、10个剪贴板字符串缓冲区和26个有名字符串缓冲区,存储在每个字符串缓冲区中的内容都可以查看和修改。
6、编辑文件缓冲
编辑窗口中打开编辑过的文件都会创建一个副本被保存在编辑文件缓冲区中,这些存储的副本文件可以用来作为编辑文件的备份被重新打开。
7、编辑内容标记
对于正在编辑的文本可以选择特定行内容做标记将其高亮显示,被标记的条目被记录在列表中可以方便的浏览定位到标记的位置。
版本信息
PNEdit_v2020.12
PNEdit_v2021.03
参考资料
· 1.上海弗摩电子科技有限公司.爱企查.2018-12-18[引用日期2021-07-16]
三、linux中vi编辑器怎样使用
工具:
Linux
方法:
1、首先进入Linux的命令行界面.在目录下创建一个用于测试的文本文件(touch filename).这里就新建了一个test12文本文件.当然这个名字是可以随便取得.
2、用"vi test12"命令进入vi命令行模式(vi filename).如果要想编辑文本文件.必须要转换到插入模式下,也就是按一下键盘上的"i"就可以了.这样就可以编辑文本,删除文本中的内容.按键盘上的上下左右键.来回移动了.就跟在windows系统中编辑文本一样.
3、输入要输入的内容.如果想退出文本编辑模式.并且保存刚刚编辑的文本.首先点击一下键盘上的"ESC",然后输入":wq!"这样就将文本保存了.然后推出了vi编辑器.如果不想保存就按一下键盘上的"ESC",输入":q!".如果不确定是否成功.可以通过"cat filename"命令来查看.
4、光标的移动除了键盘上的上下左右键.也可以是小写模式下,按键盘上的"h,j,k,l",
"ctrl+b":屏幕往后移动一页
"ctrl+f":屏幕往前移动一页
"ctrl+u":屏幕往后移动半页
"ctrl+d":屏幕往前移动半页
输入任何一个整数,然后输入"shift+G"就可以到这一页的开头了.
按键盘上的大写"G"移动到文章的最后.
按"$"符号将光标移动到行尾
"^"将光标移到行头
"w":将光标移到下一行头
"b":跟"w"相反.移到上一行行头
"e":将光标移到下一行尾.
如果想让文本显示行号.就在命令行模式下,在文本最后输入":set nu"命令.就可以了
5、**「yw」:将光标所在之处到字尾的字符**到缓冲区中。「yy」:**光标所在行到缓冲区。「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的**命令都必须与"p"配合才能完成**与粘贴功能。
6、查找
用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的.
7、替换「r」:替换光标所在处的字符。,按一下"r"然后输入要即可.「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
8、恢复上一次操作「u」:如果误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次恢复.就相当于"CTRL+Z"的操作.
感谢您的阅读!希望本文对解决您关于Linux 之 Vi 编辑器_linux vi编辑器和linux中vi编辑器怎样使用的问题有所帮助。如果您还有其他疑问,欢迎随时向我们提问。