`
luckyclouds
  • 浏览: 111527 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

vi随笔

阅读更多
vi是unix/linux用的比较多了命令,现摘录一些常用操作记录如下
1.进入vi命令
vi filename --打开或新建文件,并将光标置于第一行首
vi +n filename --打开文件,并将光标置于第n行首
vi + filename --打开文件,并将光标置于最后一行首
vi -r filename --在上次用vi编辑时系统发生崩溃,恢复filename


2.移动光标命令

k      --上移一行(命令前可以加数字,比如5k,光标上移5行)
j      --下移一行
h      --左移一个字符
l      --右移一个字符
注:k,j,h,l这四个键刚好是右手放键盘的四个键,非常顺手方便。

ctrl+p --上移一行
ctrl+n --下移一行
enter  --下移一行
space  --右移一个字符

w或者W  --右移一个字至字首
e或者E  --右移一个字至字尾
b或者B  --左移一个字至字首
注:w,e,b这三个键也刚好是左放键盘的三个键,顺手方便的。

(   --移到句首
)   --移到句尾

{   --移到段落开头
}   --移到段落结尾

0   --移到当前行首
^   --移到当前行首
$   --移到当前行尾
nG  --移到第n行首
G   --移到最后行首
n+  --下移n行
n-  --上移n行
n$  --移至第n行尾
H   --移至屏幕顶行
M   --移至屏幕中间行
L   --移至屏幕最后行

ctrl+u  --向文件首翻半屏
ctrl+d  --向文件尾翻半屏
ctrl+b  --向文件首翻一屏
ctrl+f  --向文件尾翻一屏

3.vi编辑命令

i  --在光标前
I  --在当前行首
a  --光标后
A  --在当前行尾
o  --在当前行之下新开一行
O  --在当前行之上新开一行
r  --替换当前字符
R  --替换当前字符及其后的字符,直至按ESC键
s  --从当前光标位置处开始,以输入的文本替代指定数目的字符
S  --删除指定数目的行,并以所输入文本代替之
J  --把下一行的数据连接到本行之后
ncw或nCW或者cnw  --修改指定数目的字
nCC --修改指定数目的行 删除命令
ndw或ndW  --删除光标处开始及其后的n-1个字
d0  --删至行首
d$  --删至行尾
ndd --删除当前行及其后n-1行
d tc --删除当前行直到下一个字符“ c”所出现位置之间的内容
d fc --删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括
该字符)之间的内容
d /t e x t --删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的
位置(但不包括该字样)之间的内容
d L --删除直到屏幕上最后一行的内容
d H --删除直到屏幕上第一行的内容
d G --删除直到工作缓存区结尾的内容
d 1 G --删除直到工作缓存区开始的内容

x或X  --删除一个字符,x删除光标后的,而X删除光标前的
xp   --交换两个字符的位置
ddp  --交换两行
u  --取消操作
/string、?string  --从光标所在处向后或向前查找相应的字符串的命令
行命令方式
:n1,n2 co n3  --将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 mo n3  --将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d      --将n1行到n2行之间的内容删除
:s/s1/s2/g    --将当前行所有s1替换为s2
:%s/s1/s2/g   --将整个文件中的s1替换为s2
:n1,n2s/p1/p2/g      --将第n1至n2行中所有p1均用p2替代
:!command  --暂时退出vi并执行shell指令,执行完毕后再回到vi
:n1,n2 w!command  --将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n
1,n2,则表示将整个文件内容作为command的输入
:wq或者(:x/:zz)   --保存当前文件并退出
:sh   --暂时退出vi到系统下,结束时按Ctrl + d则回到vi
:set all  --显示所有vi选项
:set nu   --显示行号
:set nonu --不显示行号
:set ts=4 --设置tab键为4个空格长度
寄存器操作
"?nyy  --将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw  --将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl  --将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p    --取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd    --将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

:%g/^$/d 删除空行
分享到:
评论

相关推荐

    ARM-linux(fedora)随笔

    例如,使用vi编辑器:`vi ~/.bash_profile`。 - 在文件末尾添加以下行,其中`dir`是包含所需共享库的目录路径: ```bash export LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATH ``` - 保存并关闭文件。 - 为了让更改生效...

    linux学习随笔

    ### Linux 学习随笔概览 #### 一、Linux 的历史与发展 - **起源与发展:** Linux 的历史可以追溯到 20 世纪 80 年代末期,由芬兰大学生 Linus Torvalds 开始开发。起初是为了创建一个类似于 Unix 的操作系统内核,...

    随笔-linux下安装oracle 12c client

    echo "export EDITOR=vi" >> /home/oracle/.bash_profile echo "export LANG=en_US" >> /home/oracle/.bash_profile echo "export NLS_LANG=american_america.AL32UTF8" >> /home/oracle/.bash_profile echo "export...

    labview之与安川PLC 通过modbus协议通讯

    通过VIPM下载NI官方的modbus库,简易封装的可读可写手动调试助手,随笔记录一下。 包含: Modbus Demo Example.vi Modbus Master Example.vi modbus_Connect.vi modbus_Disconnect.vi modbus_read.vi modbus_...

    labview之与三菱PLC 通过MC协议通讯

    简易封装的可读可写手动调试助手,随笔记录一下, 程序源码见附件(压缩包内包含封装的单独vi及手动调试vi, demo.vi为手动单次执行函数,三菱通讯测试程序.vi为手动调试函数, 可实现一次读取多个点位及一...

    javascript学习随笔(编写浏览器脚本 Navigator Scripting )

    作为语句和函数使用时,用 SCRIPT 标记 ...SCRIPT 标记 ...[removed] _ JavaScript 语句[removed]LANGUAGE属性作为可选项,用于指定脚本语言,用法如下: [removed] _JavaScript 语句[removed][removed]是[removed]的结束标志,...

    PyQt学习随笔:QTableWidget的visualRow、visualColumn、logicalRow、logicalColumn(可见行、逻辑行、可见列、逻辑列)相关概念及方法探究

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一、概念 关于逻辑行logicalRow、列logicalColumn和可见行visualRow、列visualColumn的概念,在QTableWidget中没有介绍,老猿查了比较...

    Solaris 中文电子杂志 第3期

    - **vi 编辑器**:介绍了如何使用 vi 编辑器,这是一个在 Solaris 及其他 Unix 类操作系统中常用的文本编辑工具。 - **VCS 故障分析**:提供了一则关于 VCS(Veritas Cluster Server)的故障分析案例,有助于用户...

    linux的使用环境

    - 使用vi编辑器创建C程序,如`vi helloworld.c`。 - 编写完成后,保存并退出vi,然后使用gcc编译,如`gcc helloworld.c -o helloworld`。 - 编译成功后,使用`./helloworld`运行生成的可执行文件。 7. **实验...

    Nagios编译安装(apache2.4+nagios4).pdf

    - 使用了vi或vim编辑器来编辑配置文件,这是在Linux环境中常用的文本编辑器。 6. Apache和PHP安装细节 - 虽然本文件中未详细展开关于Apache和PHP的安装配置细节,但有提及其重要性,并建议参考其他随笔了解这些...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] ... 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct identifier [:interfaces] body [;...

Global site tag (gtag.js) - Google Analytics