1.交换两个字符位置
xp
2.上下两行调换
ddp
3.把文件内容反转
:g/^/m0/ (未通过)
4.上下两行合并
J
5.删除所有行
dG
6.从当前位置删除到行尾
d$
7.从当前位置复制到行尾
y$ 如果要粘贴到其他地方 p 就可以了
由于vi 是建立在 EX 上的 所以 当键入 : 时就来到了 EX 命令状态
8.
:ab string strings
例如 ":ab usa United States of America" ,
当你在文见里插入 usa 时
United States of America 就蹦出来了
9.
:map keys new_seq
定义你当前 键盘命令
10.
:set [all]
vi or ex 的编辑状态
如 显示每行 :set nu
11.
在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,可刚复制的内容粘贴在光标处的
下面。
12.
单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S
13.
:%s/old_word/new_word/g
这个指令是于在整个文件中替换特定字符串
14.光标控制
k:上移 nk 上移n行
j:下移 nj 下移n行
将光标移到第n行,按下 mk
将光标移到第m行,按下 "ay'k
即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等
这样就可以将你常用的需要复用的内容粘贴到不同的寄存器中以备用
想粘贴到某处,直接将光标移到某地,按下 'ap 即可,以此类推,b,c........寄存器等
在当前屏幕中
H 跳到第一行
M 跳到中间一行
L 跳到最后一行
15.
表8-2 删除命令
删除命令操作
d l 删除当前字符(与x命令功能相同)
d 0 删除到某一行的开始位置
d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符)
d w 删除到某个单词的结尾位置
d 3 w 删除到第三个单词的结尾位置
d b 删除到某个单词的开始位置
d W 删除到某个以空格作为分隔符的单词的结尾位置
d B 删除到某个以空格作为分隔符的单词的开始位置
d 7 B 删除到前面7个以空格作为分隔符的单词的开始位置
d) 删除到某个语句的结尾位置
d 4) 删除到第四个语句的结尾位置
d( 删除到某个语句的开始位置
d } 删除到某个段落的结尾位置
d { 删除到某个段落的开始位置
d 7 { 删除到当前段落起始位置之前的第7个段落位置
d d 删除当前行
d /t e x t 删除从文本中出现" t e x t"中所指定字样的位置,一直向前直到下一个该字样所出现的
位置(但不包括该字样)之间的内容
d fc 删除从文本中出现字符"c"的位置,一直向前直到下一个该字符所出现的位置(包括
该字符)之间的内容
d tc 删除当前行直到下一个字符" c"所出现位置之间的内容
D 删除到某一行的结尾
d $ 删除到某一行的结尾
5 d d 删除从当前行所开始的5行内容
d L 删除直到屏幕上最后一行的内容
d H 删除直到屏幕上第一行的内容
d G 删除直到工作缓存区结尾的内容
d 1 G 删除直到工作缓存区开始的内容
修改命令操作
c l 更改当前字符
c w 修改到某个单词的结尾位置
c 3 w 修改到第三个单词的结尾位置
c b 修改到某个单词的开始位置
c W 修改到某个以空格作为分隔符的单词的结尾位置
c B 修改到某个以空格作为分隔符的单词的开始位置
c 7 B 修改到前面7个以空格作为分隔符的单词的开始位置
c 0 修改到某行的结尾位置
c) 修改到某个语句的结尾位置
c 4) 修改到第四个语句的结尾位置
c( 修改到某个语句的开始位置
c } 修改到某个段落的结尾位置
c { 修改到某个段落的开始位置
c 7 { 修改到当前段落起始位置之前的第7个段落位置
c tc 修改当前行直到下一个字符c所出现位置之间的内容
C 修改到某一行的结尾
c c 修改当前行
5 c c 修改从当前行所开始的5行内容
.重复上一次修改!
表8-4 替换命令
替换命令操作
s 将当前字符替换为一个或多个字符
S 将当前行替换为一个或多个字符
5 s 将从当前字符开始的5个字符替换为一个或多个字符
vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串
16.
fx
往右移动到 x 字符上
Fx
往左移动到 x 字符上
tx
往右移动到 x 字符前
Tx
往左移动到 x 字符后
(注意:以上四个命令中,其中x是键入的字符)
;
分号,配合 f 和 t 使用,重复一次
,
逗号,配合 f 和 t 使用,反方向重复一次
17. vi 环境选项 Solaris ksh
noautoindent nomodelines noshowmode
autoprint nonumber noslowopen
noautowrite nonovice tabstop=8
nobeautify nooptimize taglength=0
directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpbtags=tags /usr/lib/tags
noedcompatible prompt tagstack
noerrorbells noreadonly term=vt100
noexrc redraw noterse
flash remap timeout
hardtabs=8 report=5 ttytype=vt100
noignorecase scroll=11 warn
nolisp sections=NHSHH HUuhsh+c window=23
nolist shell=/bin/ksh wrapscan
magic shiftwidth=8 wrapmargin=0
mesg noshowmatch nowriteany
For C-Shell:
setenv EXINIT "set nu"
For Bourne or Korn Shell:
EXINIT="set nu"; export EXINIT
For Korn Shell Only (alternate method):
typeset -x EXINIT="set nu"
在 .profile 里设置 vi 的环境选项 , 以上均测试过
18.标记文本
mchar 用字母char标记当前光标的位置
`char 移至char所标记处
'char 移至char标记所在行的开头处
" 移至当前行上一次所在位置(在光标移动之后)――一个双引号
'' 移至当前行上第一次所在位置的行的开头处(在光标移动之后)――两个单引号
19.
同时vi多个文件时,CTRL-SHIFT-6回到上一个文件,在本次vi的文件和上次vi的文件之间切换。
但是我发现一个BUG:在用CTRL-SHIFT-6切换到上一个文件后,用:args查看多文件vi状态时,
屏幕底部仍然显示目前vi的是刚才的文件。
(在HP-UX,Solaris,AIX上通过)
也可以使用:
:e#
进行切换
20.
sco 下VI 要在文本前同样的字符加用
%s/^/要加的内容/g 要在文本后同样的字符加
%s/$/要加的内容/g
21.
如何去掉文本中的 ^M 硬回车?不必用binary传回去再ascii传回来的方式,用shell或者unix语句实现。
cat filename |tr -d '\015' >newfile
不同的unix系统还存在一些其他不同的命令,如:doscp
sed 也可以实现这个功能.
dos2unix filename filename2
反之
unix2dos filename filename2
在vi 中用:$s/^M//g
^是crtl-V crtl-M
22.如何在"unix命令行"下将一个文件的某字符串用另一个串换掉
sed 's/string1/string2/gp' file1 > file2
23.将/etc/hosts下所有的地址都ping 2次
1 #/usr/bin/sh
2 #grad /etc/hosts and ping each address
3 cat /etc/hosts|grep -v '^#' | while read LINE
4 do
5 ADDR=`awk '{print $1}'`
6 for MACHINE in $ADDR
7 do
8 ping $MACHINE -n 2
9 done
10 done
24
到前一个函数[[ ,到下一个函数]] ,括号配对% ,交叉参考Ctrl_] (事先用ctags做索引),回来用e# ` 编辑一个函数:vi -t 函数名 ,编辑加密文本vi -X
25
在插入模式下ctrl+p,自动补齐剩余单词,以赖规则:tags,以有的单词等等
分享到:
相关推荐
### VI高级命令集锦详细介绍vi编辑器的使用 在IT领域中,特别是对于那些深入学习UNIX系统的用户来说,掌握vi编辑器的高级命令是至关重要的技能之一。vi编辑器作为UNIX系统中最常用的文本编辑工具之一,其强大的功能...
本文将深入讲解一些高级的VI命令,帮助初学者更好地掌握shell脚本编程。 1. **交换字符**:如果你需要交换光标所在位置的两个字符,只需输入`xp`。这会删除当前字符并将其放在下一个字符的位置,然后删除下一个字符...
在深入探讨VI编辑器的高级命令用法,尤其是替换功能之前,我们首先应当明确VI编辑器的基本定位及其在IT行业中的重要性。VI编辑器,作为UNIX系统中最经典的文本编辑工具之一,其强大的功能和灵活性使得它成为系统管理...
### VI高级命令详解 #### 一、概述 VI是一款强大的文本编辑器,广泛应用于Linux和其他类Unix系统中。本文档汇总了一系列VI高级命令,旨在帮助用户更高效地使用VI进行文本编辑。 #### 二、重要命令及应用 ##### 1. ...
### Linux中强大编辑器vi命令集锦 #### vi编辑器简介 vi(visual editor)是UNIX及类UNIX操作系统(包括Linux、macOS等)中广泛使用的屏幕编辑工具。由于其强大的功能以及几乎在所有类UNIX系统中的普遍可用性,学会...
由于 VI/VIM 功能繁多,建议初学者从基础命令学起,逐步深入学习高级功能。网络上有许多免费教程和文档可供参考,如官方手册、在线课程和社区论坛。实践是最好的老师,通过不断练习,你会逐渐熟悉并掌握这些强大且...
这个"vi编辑命令大全.zip"压缩包显然包含了丰富的vi编辑器操作指南,可能分为不同的类别,以帮助用户更深入地理解和掌握这款编辑器。 vi编辑器的工作模式主要有三种:命令模式、插入模式和底行模式。在命令模式下,...
十、VI高级技巧 1. 使用可视模式选择文本,然后进行删除、复制、粘贴等操作。 2. 利用宏记录和回放功能自动化重复任务。 3. 使用块选择进行批量操作,如同时改变多行的相同部分。 VI编辑器的命令繁多且强大,熟练...
### 简单的vi命令列表解析 #### 引言 `vi` 是一款功能强大的文本编辑器,广泛应用于各种 Linux 和 Unix 操作系统中。本文将基于提供的标题、描述和部分内文来深入探讨 `vi` 编辑器中的基本编辑指令及其用法。 ###...
虽然vi的界面看起来可能对新手不友好,但它具有高效性和灵活性,使得许多高级用户对其爱不释手。vi编辑器有两种模式:命令模式和插入模式。 1. **命令模式**:在此模式下,你可以移动光标、复制、粘贴、删除文本,...
最后行模式用于执行高级编辑命令,如保存和退出。 总的来说,熟练掌握`vi`的`set`命令及各种模式切换,将极大地提升你在Linux环境下的文本编辑效率,尤其是在没有图形界面的情况下。了解并定制`vi/vim`的设置,能够...
为了帮助用户快速掌握VI编辑器的使用,本节将详细介绍VI编辑器的基本操作命令和高级命令。 一、基本操作命令 1. 进入编辑状态:VI有两种工作方式,即编辑方式和插入方式。在使用中,这两种方式经常相互转换。VI ...
综上所述,这份VI命令笔记涵盖了从基础命令执行到高级文本操作的多个方面,对于深入理解和高效使用VI编辑器具有很高的参考价值。无论是对于初学者还是经验丰富的用户,这些技巧都能够显著提升文本编辑的效率和灵活性...
#### Vi的高级使用技巧 - **多窗口操作** Vi支持在一个终端窗口内同时编辑多个文件,通过分屏功能实现。例如,使用`:sp`命令可以分割窗口,从而同时查看或编辑两个文件。还可以通过`:vs 文件名`命令打开一个新...
### VI命令一览表详解 #### 一、VI编辑器简介 VI编辑器是UNIX系统中最常用的文本编辑器之一,因其强大的功能和灵活性而备受青睐。...对于初学者来说,建议先从基础命令学起,逐渐掌握更多高级功能。
#### 命令模式下的高级操作 - **移动光标**:除了使用键盘上的方向键,vi提供了更高效的移动方式。`h`、`j`、`k`、`l`分别对应光标向左、下、上、右移动。此外,`G`移动至文件末尾,`$`移动至行尾,`^`移动至行首,...