免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2487 | 回复: 0
打印 上一主题 下一主题

读置顶帖:vim使用疑问解答,整理后共享;需要的可以看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-10 22:10 |只看该作者 |倒序浏览
Q:vim如何支持ftp操作:
A:打开  :e ftp://192.168.10.76/abc.txt
   保存(如果不存在则创建)   :w ftp://192.168.10.76/abc.txt
   读取  :r ftp://192.168.10.76/abc.txt
   以上操作第一次打开时需要输入用户名和密码,以后就不用了,
Q:vi 处理多个文件编辑有什么法子?
A:1)  vi   file1 file2 file3...
         2)  假设你正在编辑 file1,那么用 :args <CTRL-R>;% file2 file3
Q:如何删除连续两行之间的回车符,使连续的两行成为一行?
A:Jx
Q:怎么将一定段落中的某个词替换成另一个词啊?
A:替换用 s/abc/def/ 这样,就可以把 abc 换成 def
         一个简便的方法是,先在 visual 模式下想办法选中你要操作的范围,然后再输入 s 命令就可以替换了。
         比如你要操作一个段落,可以先用 { 或者 [[ 挪到段落的开始处,然后再用 v 进入 visual 模式,
         然后再用 } 或者 ]] 挪到段落的结尾处,然后再输入 s 命令就可以实现你的目的了
Q:vim中光标在C函数和系统调用上时,按K进入man手册页,可是如果应用程序也有这个名字,比方说readlink,按下K就进入那个应用程序的man页了,
   如果我想取得在shell中man 2 readlink这样的效果,该怎么办
A:先按下2,然后shift+k,就进入系统调用man页了
Q:在vi中,怎么选中指定的几行,然后进行规整格式之类的命令?比如用V可以进入虚拟模式,然后上下就可以选中几行,然后用=规整格式。如果我想选中的行比较多,有没有比较好的办法呢?
A:V 打开"可视模式"(不是虚拟模式,虚拟是 virtual)后,可以有很多种办法移动光标的,不一定非得用 h j k l , 比如可以搜索定位, 也可以用 [[ ]] ][ [] } { 等段落定位的命令.
   v]]   v[[   v}  这样就可以选中一大块,而不用一行一行地选,还有 H L 这些都可以用.  详细请 help motion
   另外, vim 内置了很多以 a 打头的文本对象, 如 a{ 表示一个 {} 块, ap 表示一个段落等等。=a{ 就可以重排当前语法块.
Q:=a{命令重排后,是按2个TAB键进行缩进的?想让它按一个TAB键缩进,该如果处理?谢谢! 在Visual状态下,如何选择整个文件?
A:全选的命令是   ggVG     gg表示到第一行第一个字母,  V进入visual line  G则到文件尾。
   至于=a{重排,应该跟shiftwidth、softtabstop、tabstop、expandtab等设置有关。具体看你是怎么设置的。
   我的是把TAB全部设置成4个空格了。
   set tabstop=4
   set softtabstop=4
   set shiftwidth=4
   set expandtab
   set cindent
   set ai
Q:从win2k telnet到rh7.3使用vim编辑C文件时候,如何处理Ctrl+]呢?
A:vt100 不支持。用 ansi 终端,或者干脆改用 NetTerm 等软件,.
Q:vim支持语法高亮度显示,那么vim是否支持将语法高亮度显示的结果保存为一个html文档呢?
A::TOhtml
Q:vim如何把 “调用外部程序得到的输出” 转移到它自己一个新型的窗口里?比如我调用:!objdump -S %:p:r<cr>;怎样让VIM产生一个新的BUFFER或者窗口,捕获它的输出?
A::split +enew | r !ls
   split :分割窗口  split {+cmd} 表示打开一个新窗口,并在新窗口中执行 {cmd} 命令
   split +enew 就是打开一个新窗口,并且在其中执行 enew 这个命令
   enew  打开一个新的无名buffer  | 命令分割符 r read  !ls  执行外部命令
Q:在vim中如何 进行块复制 删除  等 块操作
A::v进入可视模式,hjkl选中要选中的块。y:复制、d:删除/剪切、p:粘贴
   v: visual mode//和普通的选择没区别
   V: visual line mode//在此模式下,选择的基本单位是行,即:要么就选一行,要么就什么都不选
   Ctrl-V: visual block mode//此模式下,可以选择一个块。
Q:能不能读入(解析)一个html文件呢?就是去掉html的的标记,象浏览器一样读入html??
A:vim 是个文本编辑器,不是 html 浏览器。  去掉标记  :%s/<[^>;]*>;//g
Q:写C的时候,如果要把一段注释掉,有什么方法?
A::vmap <F2>; :s/^/\/\//<CR>;  选中内容,按 F2。
Q:缩写
A::ab cu chinaunix   以后就可以自己写cu(空格 or 回车 or tab后)vi自动把cu替换成chinaunix
Q:在vi中,如果我不小心按错了键,跑到文件头或者文件尾了,怎么能快速回到刚才光标所在的位置?
A:vi 中不知道。 vim 中可以用 Ctrl+o(欧) 回来。
Q:如果我键入if,再回车,下一行就自动缩进,直到输入endif再和if对齐,vi中不知道怎么实现这个功能
A::set ai的命令来启动自动缩进。用:syntax on命令来启动语法着色。一般都是写在.exrc中每次自动执行的
Q:用什么快捷键可以在"插入模式"下删除光标到行尾的字符
A:^od$    ^o 表示同时按住 Ctrl 和 O 键。
Q:set autoindent 与 set cindent 区别
A:autoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是上面这位网友说的“自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。
   cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。
Q:如何比较快速简单地用一段文字替换文章中的多处不同文字 如:用“为人民服务”来代替
A::%s/TNND\|TMD\|XXX\|FUCK/为人民服务
Q:用vi怎么copy一行,到另外的一个vi打开的文件中
A:Step1   yy   Step2   :vi file2    Step3   p
Q:怎么实现vim内,打一个括号如 "("自动补全另一个括号
A::iab ( ()
Q:如何删除所有的偶数行?
A:<ESC>;ggqajddq10000@a  假设你的文本有不到 20000 行,那么输入以上的命令就可以删除所有的偶数行。
Q:隔两行插入一个空行:
A:ggqajo<ESC>;jq1000@a
Q::set tabstop=4 按tab缩进4了..可是退出vi再进 还是8啊..怎么办?
A:你可以在用户目录下建文本.exrc,在里面写上set ts=4就可,下次进入时按tab就只有4格了
Q:怎么在vi里面更方便的删除一段内容?
A:首先在你需要考贝头,mark为ma,然后下移或上移到考贝尾,在命令模式输入  d'a 或者在ex模式输入:.,'ad<CR>;
Q:请问vim有配制文件吗?有的话放在哪里
A:根据你的系统类型及配置情况的不同,vim 配置文件的路径也会不同,所以具体请参照 :help vimrc
Q:怎样让 vim 在打开不同文件的时候在开头写入不同的内容。 例如在打开一个后缀名为 cpp 的空文件的时候写入
   #include <iostream>;
   using namespace std;   
A:
  1. autocmd BufNewFile *.cpp exec append(0,"#include <iostream>;") | exec append(1,"using namespace std;") | exec ':$'
复制代码

Q:如何实现一下删除多行,或是整个文件中的所有行
A::%d   ggdG
Q:源代码比较混乱,有没有办法格式化呢?
A:gg=G
Q:使用:args可以查看你正在编辑哪个文件,但是我在C语言环境下,使用Ctrl-]跳转到函数定义地方以后,怎么知道我现在位于哪个文件呢?
A:Ctrl+g
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP