Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 常用的Vim键(转载自 孤舟)
【标  题】:常用的Vim键(转载自 孤舟)
【关键字】:Vim
【来  源】:http://blog.chinaunix.net/article.php?articleId=62152&blogId=8296

常用的Vim键(转载自 孤舟)

Your Ad Here

孤舟的vim使用对我很有帮助,所以抄了一份放在自己的blog中,汗颜。。。

孤舟常用的Vim键

瞎写一通,算自己备个份。也给Vim新手提供点思路 

M        代表Middle        光标移动到屏幕中间行首
L        代表Last        光标移动到屏幕最后行首
H        代表Head        光标移动到屏幕第一行首
z<CR>;                重划屏幕,把光标所在行作为新屏幕第一行
:se list        显示转义字符
:se nu        显示行号
J        删除行尾的换行符
K        以光标所在的单词为关健字,进入man手册
zfa{        将光标所在代码块折行
zo        将光标所在折行打开
zc        将光标所在折行关闭
zM        关闭所有折行
zR        打开所有折行
zd        删除光标所在折行
zD        递归删除光标所在折行(如果折行只有一层,那么效果跟zd是一样的)
zE        删除所有折行(我的折行方式是set foldmothed=marker的)
:ar        显示当前文件名
:sh        打开一个shell(这个shell是Vim的子进程,呵呵。我在临时需要编辑本目录其他文件或者调用ctags之外部程序时经常这样用)
:sus        代表suspend        将vim挂起,以后就可以用fg命令恢复
:1        转到本文件第一行
G        转到本文件最后一行
:%s/old_string/new_string/g        将本文件中所有的old_string替换成new_string
:s/old_string/new_string/g        将光标所在行所有的old_string替换成new_string
:12,23s/old_string/new_string/g        将第12行到第23行之间所有的old_string替换成new_string
=a{        将光标所在的语法块代码风格作缩进整理
$        光标移到行尾
^        光标移到行首
%        匹配{}[]()等括号,前提是光标已经处在一个括号上,按该键则光标会移动到跟它匹配的括号处
=        前提:光标在一个处,按此键则会对该花括号和与之匹配的花括号之间的代码进行缩进整理
bw        以单词为步长后退
w        以单词为步长前进
:ps task_struct         Vim会split出一个窗口(象:help那样),列出task_struct这个结构类型的定义。前提是,你的C程序已经#include了合适的头文件
Ctrl+ww        在split出来的(或者象:he或:ps这样简介split出来)的窗口间切换
:clo        关闭本窗口(只适合用在多个窗口的情况下)
:Tlist        这是一个Vim插件提供的功能,将屏幕一道竖线split成两个窗口,左侧列出所有C函数的定义及声明,光标停在上边回车就直接转到右边窗口中的定义处

下面几个是与ctags相关的
Ctrl+]        转到光标所在单词的定义处
Ctrl+T        从ctrl+]转回原来的地方,是Ctrl+]的逆动作。似乎Ctrl+o也有相同的效果
:ts        即是tselect,如果一个函数名或变量名定义多次,该命令会列出所有定义之处供你选择
:tn        即是tnext,到下一个定义处
:tp        即是tprevious,到前一个定义处
:tl        即是tlast,到最后一个定义处
:tf        即是tfirst,到第一个定义处
另外,tag浏览还可以保留当前编辑上下文,split出一个窗口出来浏览函数或变量的定义,慢慢研究先。
先写这么多,最基本的和最繁复的都没写,原因是they’re something that the wise don’t need and the fools won’t take,呵呵。


瞎写一通,算自己备个份。也给Vim新手提供点思路


最近因为用Taglist插件浏览linux内核源代码,会把屏幕split成左右两个部分。但是我的显示器是15液晶的,平时编程设定了:set number也还罢了,左右split之后,立刻显得太小。于是在~/.vimrc中写了一个函数,用来调用:Tlist之后把行号去掉:
function! TlistWrapper ()
    Tlist
    set nonumber
endfunction

command! -nargs=0 List call TlistWrapper()
map <F1> :List<CR>
这样,当输入:List或者按功能键F1时,就自动set nonumber了。呵呵。 在此记下来,以被不时之需

linux操作系统下C语言编程入门 PDF!:【上一篇】
绿茶瓜子(随笔):【下一篇】
【相关文章】
  • 关于VIM - 进行有效编辑的七种习惯 zz
  • vim 使用技巧
  • gvim C程序设计
  • replace notepad by vim
  • VIM 使用(摘录)
  • 用VIM编写C/C++程序(摘录)
  • vim中的五子棋游戏gomoku.vim
  • Vim 的repeat功能
  • VIM中二进制文件编辑
  • vim 使用经验
  • 【随机文章】
  • 改变IE滚动条的样式
  • 什么是CFO
  • 利用XMLHTTP无刷新自动实时更新数据
  • 仙境传说RO pk中需要注意的地方
  • WindowsXP malformed .wmf files DoS
  • 腾讯QQ邮件常用功能详解(2)
  • Change value of variables dynamically when debug in Ms VC6
  • BitTorrent 协议规范(BT协议集合)十七
  • 当菜鸟遇上黒客(2):端口扫描
  • 用C++ Builder在WINNT下编制一个Service
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.