怎么在windows下使用gvim

 我来答
盘默M2
推荐于2016-03-25 · TA获得超过2.9万个赞
知道大有可为答主
回答量:9723
采纳率:93%
帮助的人:8063万
展开全部

Gvim这个编辑器强大,快捷,而且很小,够自由。但是,windows用习惯了的,用起Gvim来,难免刚刚开始不适应。相信用一段时间你就会喜欢上它了。

方法/步骤

光标的移动:

这里说的光标移动是指在正常模式下光标的移动。

最简单是方向键,它即使在插入模式下仍可使用,但不是最方便。

h 在当前行向左移动一个字符,或者Backspace。

j 移动到下一行,或者Enter。

k 移动到上一行,或者- 号。

l 在当前行向右移动一个字符,或者空格键Space。

Ctrl +f 向前滚动一页,或者PageDown。

Ctrl +b 向后滚动一页,或者PageUp。

0(零) 移至行首(包含空白字符,如缩进的空格),或是Home 键。

$ 移至行尾, 或End 键。

^ 移到行首第一个非空白字符。

G 移动到文档末尾,或者

gg 移动到文档开头。

w 移动到下一word的开头。

b 移动到上一word的开头。

e 移动到本word或者下个word的末尾。

ge 移动到上个word的末尾。

大写的W B E 和w b e 效果一样但会忽略像. - 等特殊字符。

中文因为是连在一起的,所以如果没有空格或者数字、英文标点的话,将视为一个word。

( 光标移至句首,句子是以. ? ! 标点来判断的。

) 光标移至句尾

{ 光标移至段落的开头,段落是以空白行来判断的。

} 光标移至段落的结尾

H 将光标移至屏幕顶第一个非空白字符。

M 光标移至屏幕中间第一个非空白字符。

L 光标移至屏幕底第一个非空白字符。这和PageDown,PageUp 不一样,内文内容并未动,只是光标在动而已。

:n 将光标定位到第n行。

n| 将光标移动到本行第n个字符。

模式编辑:

vim常用的模式有:

命令模式(command-mode),插入模式(insert-mode),可视模式(visual-mode),正常模式(normal-mode)。

模式的转换:

①其它模式==>命令模式

按Esc键

②正常模式==>插入模式

按i 在光标前插入

按I 在行首插入

按a 在光标后插入

按s 删除光标所在的字符再插入

按A 在行末插入

按o 在当前行之下新建行

按O 在当前行之上新建行

按S 删除光标所在行再插入

③正常模式==>命令模式

按: (shift 加分号)

④正常模式==>可视模式

按v 可视模式

按V 可视块模式

打开和退出:

:e test.txt 打开test.txt文件进行编辑,文件不存在则创建。

:w 保存文档,但不退出vim编辑器。[3] 

:q 不保存文档,退出vim编辑器。

:wq 保存文档然后退出vim编辑器。按ZZ(注意Z是大写的,并且不是在命令模式)或者:x效果是一样的。

:q! 放弃所有修改强制退出,按:q不能退出时就试试这个吧。

文件操作:Exp 浏览文件夹:Sex 分割窗口浏览文件夹:args 查看当前打开的所有文件:ls 显示缓冲区:cd 显示当前文件夹

大小写转换guu 将当前行全部小写gUU 将当前行全部大写Vu 将选中的行(单行或多行)全部小写VU 将选中的行(当行或多行)全部大写g~~ 将当前行小写的转换成大写, 大写的转换成小写

insert模式ctrl+n(p)  自动补全ctrl+w 回删一个wordctrl+u 删除到行首(包括行首空白)ctrl+t 向右缩进ctrl+d 向左缩进ctrl+h 对应Backspace键ctrl+j 对应回车键ctrl+m 貌似也是回车键

使用 Ctrl-O 就可以临时切换到 normal mode, 执行一个命令后自动返回 insert mode。

"{a-z} yy 将复制的行存储在[a-z]指定的存储器中

nG 移动到第n行// 重复上一次/<regexp>搜索

编辑(缩进,全文缩进)x  删除当前光标文字

J  将下一行接到当前行末尾

rx 将当前光标字符替换为x 

.  重复前一个编辑操作命令, dd...会删除4行文字, J....可以连接4行文字

d  可以用来结合任何移动命令

dw 删除当前光标到下一个单词开始处的内容

d% 删除范围首尾字符之间的内容

d) 删除到下一个句子结束的位置

d} 删除当前段落的剩余内容

du 取消删除准备

I  在当前行开始插入

A  在当前行末尾开始插入

o  在当前行下新建一空行以供插入

O  会在当前上方新建一空行

cc 用空白行代替当前行内容

c$ 删除当前位置到当前行结束内容

c0 删除当前位置到当前行开始内容

== 对当前行自动缩进

gg=G 对全文进行自动缩进

<<(>>) 对整行进行缩进

视图模式ctrl+q 块选择

替换:s/regexp/replacement/g 替换当前行:%s/regrep/replacement/g   全文替换, 如果一行有多个匹配只替换第一个:%s/regexp/replacement/gc  全文替换, 并在每次替换之前进行提示:%s/str/\r/g 替换并换行

养成每次编辑之后随时按esc退出插入模式进入命令模式的习惯

能熟练使用各种组合命令是vi高手的一个标志

常用插件calendar:\cal 左边垂直位置打开日历\caL 下面水平位置打开日历:Calendar year month 根据制定的日期打开日历t  回到今天q  退出日历

MRU 最近打开的文件:MRU 显示最近打开的文件列表

NERDTree 在左边显示文件目录:NERDTree  打开NERDTree插件o  展开折叠选中文件夹t  在tab页打开选中文件T  在后台标签页打开!  执行此文件p  到上层目录P  到根目录K  到第一个节点J  到最后一个节点u  回到上层目录m  显示文件系统菜单?  帮助q  退出

如何找到上次编辑的文件? Ctrl+O (按两次)

如何选择、复制或者查找光标所在的单词? 在VIM中用iw或者aw表示一个单词,两者稍有区别。

选择光标所在的单词:viw (v进入visual模式,然后iw)

复制光标所在的单词:yiw

如何去掉或者插入^M这样的字符? 在VIM的插入模式或者命令行中用输入^M这样的特殊字符,例如输入:%s///g实际显示是:%s/^M//g就可以去掉文件中所有的^M。同理,要在文件中输入^M只要按即可。这个问题往往发生在WINDOWS/DOS系统和UNIX系统之间交换文件时,因为这两类系统 对于文本的“换行”概念解释不同。所以,还有一个解决方法就是对这类文本进行 转换。vim内部就可以做这件事情。首先打开文本,然后set fileformat=unix再从新保存该文件复盖原文件就可以去除:^M了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式