Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1316277
  • 博文数量: 161
  • 博客积分: 10192
  • 博客等级: 上将
  • 技术积分: 2165
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 17:09
文章分类

全部博文(161)

文章存档

2012年(2)

2011年(13)

2010年(137)

2009年(5)

2008年(4)

我的朋友

分类: LINUX

2010-07-21 12:51:03

Homepage
zh man:




1.到download.php挑选OS平台,下载安装程序,安装。
2.下载中文帮助translations.php,安装后运行。vim菜单栏为乱码。
解决办法为:到vim安装路径下C:\Program Files\Vim进入vimfiles的plugin打开vimdoc.vim 将set encoding设为set encoding=gbk
VIM学习笔记
整理:Jims of 肥肥世家



Copyright ? 2005,2006 本文遵从GNU 的自由文档许可证(Free Document License)的条款,
欢迎转载、修改、散布。

发布时间:2005年07月18日

更新时间:2006年05月22日

Abstract

VI编辑器是类UNIX系统中最常用到的编辑器,VIM是VI编辑器的改良版本。
本笔记是我在使用vim时记录下来的备忘录,内容不是很全面,详细介绍
可参考

Table of Contents

1. 普通模式

1.1. 编辑
1.2. 光标移动

2. 编辑模式
3. 命令模式
4. vimrc配置
5. 网上资源

1. 普通模式

在shell中直接打vim filename就会进入普通模式。在这个状态,我们可以通过
不同的按键对文件进行操作和切换到其它模式。按“:”可切换到命令模式,按i,o,a可进入编辑模。
1.1. 编辑

i

进入编辑模式。
o

在当前位置下插入一空行,进入编辑模式,光标位于空行的最开头。
a

光标后移一个字符,进入编辑模式。
v

这入可视模式,可用高亮的色块选择内容。
x or DEL键

删除当前字符,删除内容保存在缓冲区。
xp

左右字符互换。
dd

删除当前行,删除内容保存在缓冲区。
ddp

上下两行的内容互换。
d$

删除当前光标至行尾的所有内容。
dG

删除从当前行至文件未尾的所有行。
u

undo。
v

进地visual模式,移动光标可选择文本。
y

把当前行复制到缓冲区中。
p

把缓冲区中的文本插入到当前位置。
"ay

把当前行复制到a缓冲区。可用26个字母命名多个缓冲区。
"ap

把a缓冲区中的文本插入当前位置。
J

上下两行合并成一行。
.

英文句点的作用是重复执行上次执行的命令,如你按了"ap插入a缓冲区的内容,那你就可按"."
来重复这个操作。

1.2. 光标移动

h,j,k,l

在 vim中,除了可使用光标键在移动光标外,还有一种更方便的光标移动方式。就是使用h,j,k,l这四个键来移动光标。
h控制光标左移,j控制光标下移,k控制光标上移,l控制光标右移。通过使用这四个字母键就可使我们的手不用移动即可控制
光标的移动。刚开始使用可能会有些不习惯,但熟练使用后你会发觉你的输入速度提高不少,强烈建议喜欢vim的朋友使用。
$

光标移动到行尾。
gg

光标移致力到文档的开头。
G

光标移动到文档末尾。
H,L

H控制光标移动到当前屏幕头,L控制光标移动到当前屏幕尾。
{,}

{控制光标上移一个段落,}控制光标下移一个段落

2. 编辑模式

ESC

退出编辑状态。

3. 命令模式

在普通模式上按“:”就可进入命令模式,在左下屏幕我们输入一些操作指令。

:q!

不保存退出vim。
:w

保存文档,但不退出vim。
:x

保存退出vim。
:! command

运行shell命令。
:e filename

编辑/打开一个文件
:s/emacs/vim

在当前行中把第一个emacs替换成vim。
:s/emacs/vim/g

把当前行中所有的emacs替换成vim。
:%s/emacs/vim/g

在全局范围内把emacs替换成vim。
:reg

列出缓冲区内容。
:set all

列出所有参数的配置情况。
:tabe

新建一个标签页。
:tabn or :tabp

切换到下一个\上一个标签页。
:close

关闭当前标签页。
:qa

关闭所有标签页退出。
:TOhtml

把当前文档直接生成html格式文档。

4. vimrc配置

在命令模式下用set命令设置的东西是不能保存的,下次打开vim时又要重新设置。所以vim提供了一个配置文件叫
vimrc,可以保存你的配置信息。该文件在Debian系统中位于/etc/vim/目录下。在该文件中,以双引号开头的是
注释。vim7.0在debian系统中把配置文件分成两部份,一部份是系统级的$VIMRUNTIME/debian.vim,一部份是用户
级的/etc/vim/vimrc。debian.vim的内容一般不要去修改,我们只要修改/etc/vim/vimrc文件即可。

*

syntax on

语法加亮功能,这是VIM最有用的功能之一。语法加亮规则文件位于$VIMRUNTIME/syntax目录下。
*

set autoindent

自动缩排,如当前行是从第3个字符的位置开始编辑的,按回车后光标会自动定位在下一行第三3个字符的位置。
*

set ruler

总是显示光标的位置。
*

set paste

置粘贴模式,这样粘贴过来的程序代码就不会错位了。
*

打开文件时自动回到上次编辑位置。

if has("autocmd")
autocmd BufRead *.txt set tw=78
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif
endif

*

退出vim后屏幕保持刚编辑文档的内容。

set t_ti= t_te=

5. 网上资源

*

vimdoc:
*

vimfaq:


VIM列模式

如:
1, 3, 4, 7
1, 3, 4, 7
1, 3, 4, 7
1, 3, 4, 7
1, 3, 4, 7
1, 3, 4, 7

要在多行的 3 前面天上 "2,"这么做:
1.用选定 "3" 这一列
2.输入I, 此时光标会定位在3前
3.输入"2, " 然后按 ESC
4.结果如下:
1, 2, 3, 4, 7
1, 2, 3, 4, 7
1, 2, 3, 4, 7
1, 2, 3, 4, 7
1, 2, 3, 4, 7
1, 2, 3, 4, 7

要删除某列或者某几列:
  光标先移动到第一行,第一列,然后按ctrl+v,进入 visual block模式,
  再移动光标选择列,再向下移动到尾,按x删除该列即可。
  删多列类同。


vim是一个多模式的编辑器。就目前来看,主要有以下几个主要模式。
1.通常模式(n) 在其它任何一个模式下,用ESC或者 ctrl+c 键可以退到通常模式
2.插入模式(i) 在这个模式下,vim像一个常见的编辑器.在通常模式下,用i或者a可以进行本模式,当然,还有一些其它命令也可以.
3.可视模式(v) 在这个模式下,可以使用hjkl进行选择.然后进行copy,paste或者其它操作. 在通常模式下,用v命令进行可视模式.
4. 块操作模式(V) 这是块操作模式. 在通常模式下,用ctrl+v进入本模式.
5. 修改模式(R) 这是改写的模式.很多软件法用insert键来完成这个切换.在vim中,从通常模式用R即可进入改写模式.
6. 扩展命令模式(ex) 这是命令执行模式 在通常模式下用:切换到此模式.


1。在VIM的命令模式下按v键,VIM窗口最下会显示“--VISUAL--”,光标移动到要复制的行,按光标选择,会出现反白范围。选择完毕,按shift+"+y,即可复制到内存。
2。粘贴。本文或者另外文都可以粘贴。

阅读(736) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-05-03 10:22:54

分屏启动Vim 使用大写的O参数来垂直分屏。 vim -On file1 file2 ... 使用小写的o参数来水平分屏。 vim -on file1 file2 ... 注释: n是数字,表示分成几个屏。 关闭分屏 关闭当前窗口。 Ctrl+W c 关闭当前窗口,如果只剩最后一个了,则退出Vim。 Ctrl+W q 分屏 上下分割当前打开的文件。 Ctrl+W s 上下分割,并打开一个新的文件。 :sp filename 左右分割当前打开的文件。 Ctrl+W v 左右分割,并打开一个新的文件。 :vsp filename 移动光标 Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W 把光标移到右边的屏。 Ctrl+W l 把光标移到左边的屏中。

chinaunix网友2011-05-03 10:22:54

分屏启动Vim 使用大写的O参数来垂直分屏。 vim -On file1 file2 ... 使用小写的o参数来水平分屏。 vim -on file1 file2 ... 注释: n是数字,表示分成几个屏。 关闭分屏 关闭当前窗口。 Ctrl+W c 关闭当前窗口,如果只剩最后一个了,则退出Vim。 Ctrl+W q 分屏 上下分割当前打开的文件。 Ctrl+W s 上下分割,并打开一个新的文件。 :sp filename 左右分割当前打开的文件。 Ctrl+W v 左右分割,并打开一个新的文件。 :vsp filename 移动光标 Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W 把光标移到右边的屏。 Ctrl+W l 把光标移到左边的屏中。

chinaunix网友2011-05-03 10:15:18

下面是一些vi的小技巧。 :sp 打开一个文件,并和当前打开的文件分屏显示。 Ctrl+W+W 在分屏显示中的不同文件中切换。 * 向前搜索目前光标所在的单词。 # 向后搜索目前光标所在的单词。 :%s/word1/word2/g 全文搜索word1并以word2替换之。 :’a,’bs/word1/word2/g 仅在第a行到第b行间搜索并替换。 :! 执行一个Shell命令。 :!javac % 使用%可以表示当前文件名。比如:sample.java,以达到编译的目的。 :sh 启运一个shell而不退出vi。exit 命令后回到vi. :line_number 冒号后跟数字表示要到第几行,如果跟1,表示到文件头,如果跟$,表示到文件尾。 Ctrl+G 可以显示当前行在整个文件的百分比。 重复一个命令number次。比如先输入50,然后输入dd,表示删除50行。 yy 拷贝一个行到VI的剪贴版。 p 粘贴VI

chinaunix网友2011-05-03 10:15:18

下面是一些vi的小技巧。 :sp 打开一个文件,并和当前打开的文件分屏显示。 Ctrl+W+W 在分屏显示中的不同文件中切换。 * 向前搜索目前光标所在的单词。 # 向后搜索目前光标所在的单词。 :%s/word1/word2/g 全文搜索word1并以word2替换之。 :’a,’bs/word1/word2/g 仅在第a行到第b行间搜索并替换。 :! 执行一个Shell命令。 :!javac % 使用%可以表示当前文件名。比如:sample.java,以达到编译的目的。 :sh 启运一个shell而不退出vi。exit 命令后回到vi. :line_number 冒号后跟数字表示要到第几行,如果跟1,表示到文件头,如果跟$,表示到文件尾。 Ctrl+G 可以显示当前行在整个文件的百分比。 重复一个命令number次。比如先输入50,然后输入dd,表示删除50行。 yy 拷贝一个行到VI的剪贴版。 p 粘贴VI