MyViStudy(from company)....更新中20090508...

来源:互联网 发布:python引号 报错 编辑:程序博客网 时间:2024/05/22 02:27

MyViStudy:
在命令模式下:
1、输入“:!”之后可以执行shell命令。
2、输入“ctrl+G”可以查看当前编辑的文件。
3、输入“:w”可以实现保存。
4、输入“:q”退出。
5、输入“:wq”保存退出。
6、输入“:q!”强制退出,可能未保存。
7、输入“i”进入编辑模式,“ESC”退回命令模式。
8、输入“u”撤销刚才的操作。
9、显示行号:输入“:set nu”。
10、查看当前编辑缓冲文件状态(文件名):输入“:args”。
x--删除一个字符 删除文字的最简单的方式是用 x。这个命令的结果是光标所处 的字符的消失,后面的文字左移动。如果你删除的字符是一行最后的一个字符, 那么光标将向左移动一个,这样光标就不会停留在不存在的字符的下面了。假如 没有任何文字了,喇叭就叫。

d--删除对象 这个命令的右边还要有一定的文字对象。文字对象就是一块文字。他右边接的就是在控制光标移动的那些字符。例如 w 表示向前一个单词,那么 dw 将删除下一个单词。5w 表示前进 5 个单词,那么 d5w 将删除他们。

dd--删除一行 最常用的 d 系列命令之一。和前面一样, 5dd 将删除 5 行

D--整个删除 大写形式的 D 用来删除从光标到行尾。和 d$ 一样效果。

u--恢复 要后悔吗?他不仅仅撤消删除,还撤消你所有的编辑工作。

.--重复 重复编辑工作。
命令模式:
1.高亮关键字:syntax enable
(syntax on)下次启动自动取消。
2.取消高亮:syntax off
3.C风格自动缩进:set cindent
(一般自动缩进set autoindent不管用?)
4.取消自动缩进:set nocindent
(set noautoindent)
5.让vi显示多个窗口(多缓冲区)
1)在一个窗口总打开一个文件按
:new filename
或者n filename
2)分割窗口按
:split
然后在当前文件下可以
:n filename载入新文件
或者e filename
:split 继续分割
或者sp
上下分栏是:split
左右分栏是:vsplit
3)一次打开多个窗口:
vi -on file1 file2
同时打开file1和file2
3)在各个窗口切换按
ctrl+w
vim的多窗口特性通过输入ctrl+w后,在输入一个窗口操作指令完成
ctrl + w s水平分割窗口
ctrl + w v垂直分割窗口
ctrl + w +扩大当前水平窗口
ctrl + w -减小当前水平窗口
ctrl + w >扩大当前垂直窗口
ctrl + w <减小当前垂直窗口
ctrl + w
以上四条命令也可以增加数字进行重复:
比如ctrl + w 20 +
ctrl + w = 平分窗口
ctrl + w _最大化当前水平窗口
ctrl + w |最大化当前垂直窗口
4)退出
:q
退出当前
:qa
退出全部
5)定位程序的错误:
:make
在vi里,运行make命令后,如果有编译错误,你按一下回车,vi自动定位到第一个编译错误那里。记得,要用内置的make命令,即运行:make,不是外部命令:!make。
5)如果让vi启动自动执行某些命令可以在/~下建立一个.vimrc文件,填入相关命令即可。
例如:
把设置vi启动不备份当前修改文件:echo 'set nobackup' >>~/.vimrc
相当于把'set nobackup'加到.vimrc中去了

http://blah.blogsome.com/2006/06/14/vim_tut_hl/#g_t_00e4_00bd_00bf_00e7_0094_00a8_00e9_00a2_0084_00e7_00bd_00ae_00e7_009a_0084_00e9_0085_008d_00e8_0089_00b2_00e9_00a3_008e_00e6_00a0_00bc
使用预置的配色风格
改变背景色:colors evening
(或colorscheme evening)返回默认:colors default
修改环境配色
??" 使用默认的高亮(移除用户定义的高亮,即根据'ft'重新载入语法文件):hi clear
下面是一个表格:
终端类型 前景色 背景色 注释
term - - 黑白终端
cterm ctermfg ctermgb 彩色终端
gui guifg guibg 图形介面

例如:
:hi Normal guifg=gray guibg=red(图形的)
:hi Normal ctermfg=gray ctermbg=red
有哪些颜色可以使用?见cterm-colors。
Ctrl-N 或 Ctrl-P 插入模式下的自动补全功能(补全曾经输入过的字串模式)。
如何保存vi中对缩进符的设置?

在自己的“家”创建一个 .vimrc 试试看

vim 执行模式
:syntax on 使用语法高亮
:set smartindent 程序自动缩进
---待更新---
20090325
***利用ctags:
先生成当前目录的tags:$ctags -R ./
载入当前标签:set tags=tags
跳转到函数内部(需要ctags):ctrl+[
回到ctrl+[之前的位置:ctrl+T
上一个位置:``
在某个括号上按% 就可以跳到另一半
--------------
20090326
***利用代码折叠:
可用选项 'foldmethod' 来设定折叠方式:set fdm=*****。
用:set fdm=indent 命令来设置成marker折叠方式。
用:set fdm=syntax 是另一种折叠方式。

如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
indent 对应的折叠代码有:
zc      折叠
zC     对所在范围内所有嵌套的折叠点进行折叠
zo      展开折叠
zO     对所在范围内所有嵌套的折叠点展开
[z       到当前打开的折叠的开始处。
]z       到当前打开的折叠的末尾处。
zj       向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk      向上移动到前一折叠的结束处。关闭的折叠也被计入。

///自己发现:
打开和关闭全部的折叠:zi.
全部打开折叠:zR
全部折叠:zM
在折叠处按左或右其中一个,就会打开折叠。
使用时在大括号中间输入以上命令。
//自己找的
http://idcnews.net/html/edu/20060101/293780.html
自动格式化代码
在Visual模式下,选中代码按=就能够了
Normal模式下,按=会格式化光标所在行

翻半页:<C-U> 和 <C-D>

20090424
http://doc.linuxpk.com/80490.html
<C-O>命令执行一个普通模式的命令,执行完毕后回到插入模式,不用多次Esc

看看Vim自带的Tutor(这可是位好老师):
用vimtutor启动Vim
或者在Vim里面用:h tutor来启动
http://doc.linuxpk.com/80491.html
*(#)当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.
g*(g#)此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, 而是匹配包含该单词的所有字符串.
gd本命令查找与光标所在单词相匹配的单词, 并将光标停留在文档的非注释段中第一次出现这个单词的地方.
w(e)             移动光标到下一个单词.
b                移动光标到上一个单词.
gg               移动光标到文档首行.
G                移动光标到文档尾行.
c-f              (即 ctrl 键与 f 键一同按下) 本命令即 page down.
c-b              (即 ctrl 键与 b 键一同按下, 后同) 本命令即 page up.

''               此命令相当有用, 它移动光标到上一个标记处, 比如用 gd, * 等查找到某个单词后, 再输入此命令则回到上次停留的位置.

'.               此命令相当好使, 它移动光标到上一次的修改行.

`.               此命令相当强大, 它移动光标到上一次的修改点.
y0               表示拷贝从当前光标到光标所在行首的内容.
   d0               表示删除从当前光标到光标所在行首的内容.
   y$               表示拷贝从当前光标到光标所在行尾的内容.
   d$               表示删除从当前光标到光标所在行尾的内容.
   yfa              表示拷贝从当前光标到光标后面的第一个a字符之间的内容.
   dfa              表示删除从当前光标到光标后面的第一个a字符之间的内容.
D                表示删除从当前光标到光标所在行尾的内容.
#########problem when in use##########
1.ask:what will happen after I use "n file2" command in Vi, when I'm editing file1?
answer:if you haven't save the file1, it will remind you to do it.
2.使用CTRL-N和CTRL-P补全时,由'complete'选项控制VIM从哪些地方查找补全的内容。例如,对于比较大的软件项目,文件包含关系复杂,如果CTRL-N和CTRL-P补全时查找所包含的头文件,耗时会比较久。此时,可以在'complete'选项中去掉'i'标记,这样CTRL-N 和CTRL-P补全就不在头文件中查找了,速度会快很多,但是却不知道具体输入什么命令,谁知道啊?
http://linux.chinaunix.net/bbs/thread-1073499-1-1.html
set complete-=i    " Don't scan include files
3.汉化文档有么?
vimcdoc:汉化的vim帮助 http://vimcdoc.sourceforge.net/