*window-resize*
上一篇 / 下一篇 2016-01-13 17:20:17 / 个人分类:Linux
*window-resize*
*CTRL-W_=*CTRL-W
= 使得所有窗口(几乎)等宽、等高,但当前窗口使用'winheight'和
'winwidth'。
:res[ize] -N *:res**:resize**CTRL-W_-*CTRL-W
- 使得当前窗口高度减N (默认值是1)。
如果在'vertical'之后使用,则使得宽度减N。
:res[ize] +N *CTRL-W_+*CTRL-W
+ 使得当前窗口高度加N (默认值是1)。
如果在'vertical'之后使用,则使得宽度加N。
:res[ize] [N]CTRL-W
CTRL-_
*CTRL-W_CTRL-_**CTRL-W__*CTRL-W
_ 设置当前窗口的高度为N (默认值为最大可能高度)。
z{nr}<CR>
设置当前窗口的高度为{nr}
。
*CTRL-W_<*CTRL-W
< 使得当前窗口宽度减N (默认值是1)。
*CTRL-W_>*CTRL-W
> 使得当前窗口宽度加N (默认值是1)。
:vertical res[ize] [N] *:vertical-resize**CTRL-W_bar*CTRL-W
| 设置当前窗口的宽度为N (默认值为最大可能宽度)。
gd:到达光标所在处函数或者变量的定义处。
K:在Man里面查找光标当前所在处的词
]p:和p的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试一下!
在选择模式的时候使用上面所述的方向键和命令(motion)。
比如,vwww,会高亮光标前面的三个词。Vjj将会高亮当前行以及下面两行。
鉴于大家在使用VI的时候有一定的陌生,在这里借花献佛,从兄弟版[SHELL]中整理出以下关于VI编程的高级技巧,希望对大家学习UNIX有所帮助,并希望大家能结合使用HPUX的心得体会对这些经验进行进一步的扩展。
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
TAG: