Vim操作技巧第一期:基本的操作技巧

最近一直在Linux下开发程序,虽然是跑的虚拟机但是编码还是在windows下编码,然后再到Linux编译。发觉这样的效率比较低,为什么不在Linux下编码呢?呵呵,原因是不太习惯Linux的环境,不过说回来听说Linux下的两大工具vi和emacs功能超强,所以也决定下决心学学这两个工具,这里就列一些最近学的关于vi的一些操作:
首先,vi有三种模式,正常模式(命令模式),编辑模式(插入模式),可视模式。具体的网上也有很多了,怎么操作,简单的就是
打开vi,进入的是正常模式(这时候敲键盘是输入不进字符的,除非按i,a,c,o等),按i,或a就进入了插入模式(这时候就可以输入字符了,注意我下面说的命令都是在命令模式下操作的),再按<ESC>或CTRL-C就回到了命令模式,再按v就进入了可视模式,这是可以进行块选,复制粘贴等操作。废话少说:下面就是最近学习的命令(声明这里用ESC,CTRL, Backspace,Enter,Space都为键盘上的键,不是字符)
CTRL-H, LEFT, Backspace
向左移动光标

Space, right
向右移动光标

0
移动到一行的第一个字符

^
移动到行的第一个非空字符

$
移动到行的最后一个字符

:f
列出当前文件的全路径

[num] -
向上移动num行,如:5 -,向上移动5行

[num] +
向下移动num行,如上

[num] G
从文件头移动到num行

[num] %
移动到文件的num%位置

[num] gk
从当前行向上移动num行

[num] gj
从当前行向下移动num行

[num] w
向后移动num个字

[num] b
向前移动num个字

ge
移动到前一个字的尾部

}
移动到下一个空行

{
移动到上一个空行

[[
移动到文件头

]]
移动到文件尾

[{
匹配到上一个{

]}
匹配到下一个}

[*
前一个/*

]*
下一个*/

/
向后搜索

?
向前搜索

*
向下匹配当前字符

#
向上匹配当前字符

gd
goto 本地声明

gD
goto 全局声明

``
移动到刚才跳转前的位置

H
当前屏幕的头

M
当前屏幕的中间

L
当前屏幕的底端

CTRL-C
跟ESC一样

:r!
将执行的命令追加到当前文档

[num] x
删除后面num个字符

[num] X
删除前面num个字符

R
修改模式

~
转换当前字符为大写

v-u
转换当前字符为小写

g~
转换字母大小写变化

>>
向后缩进

<<
向前缩进

CTRL-D
向下滚动半屏

CTRL-U
向上滚动半屏

CTRL-G
显示当前文件和所在的行

:+ [num]
移动到光标所在行的下num行

:e file
编辑一个文件

:pwd
显示当前路径

:cd path
转到路径path

:enew
编辑一个新的未命名的buffer

:cd-
回到当前路径的上一路径

:f filename
修改文件名到新的filename

CTRL-W ]
拆分窗体,并转到定义

CTRL-W f
拆分窗体,并转到文件

CTRL-W o
使得当前窗体最大化

CTRL-W j
移动到上一buffer窗口

CTRL-W k
移动到下一buffer窗口

zf <ENTER>
折叠当前区块

zd
删除当前折叠

zc
关闭当前折叠

zo
打开当前折叠

由于vi的命令很多,这里就列举了能帮助你完成基本编辑任务的操作,呵呵,至少给新手以一个感性的认识,我也是新手^_^!

 

posted @ 2007-01-12 09:28  moonz-wu  阅读(522)  评论(0编辑  收藏  举报