Questions tagged «vim»

vim(Vi IMproved)是支持不同编辑模式的文本编辑器。


4
在Emacs或Vim中*实时*进行块编辑
jEdit支持块编辑,但是Emacs和Vim在同一主题上似乎存在一些严重的可用性问题。如果有人可以在这里填写未知数,则使用其中任一编辑器将更可承受: 实际的矩形选择:屏幕上的选择是矩形,而不是线性选择,然后将其用于计算区域,因为Emacs似乎仅限于此。 jEdit:按住Ctrl并选择。 Vim:单击Ctrl-v并选择。 Emacs:未知;看起来需要400多行插件。 实时矩形编辑:在选择块后进行编辑时,查看所有行的结果。 jEdit:只需开始输入,就可以看到最终结果。 Vim:单击Shift-i并键入。直到按Esc退出插入模式,才会在第一行显示最终结果。未知是否有某种方法可以立即在所有行上查看结果。 Emacs:未知;看起来唯一的方法是C-x r t在按之后设置要填充的文本Ret。 在文本外部位置的开始和结束选择:例如,我想删除每行的N个开头字符,但第一行和最后一行包含少于N个字符。 jEdit:没问题,块选择可以从文本之外开始。 VIM: :set virtualedit=block。 Emacs:可以使用artist-mode和/或picture-mode。 内联粘贴块:就像粘贴多行一样粘贴复制的块,例如,将已有的文本向下推,而不是向右推。 jEdit:默认值。要将一个块粘贴为一个块,您需要首先选择另一个块。 VIM: OEscVp。 Emacs:未知。 常规Emacs块选择功能可以在cua-mode插件中找到。
9 vim  emacs  editors 

3
Vim多个窗口/隐藏
如果我在VIM会话中打开了x个或更多窗口,并且想快速隐藏所有窗口(除了活动窗口之外)一会儿,然后将窗口返回到我拥有的布局,我该如何处理?
9 vim 

2
Vim,上下文敏感的注释/取消注释行为
我用Vim编辑了许多PHP代码,但遇到了一些宏.vimrc。 我目前使用这两个宏以C风格进行注释/取消注释 "c-style (//) comment (press the [.] key) au FileType php vnoremap . :s/^\(\s*\)\(.\+\)$/\1\/\/\2/<CR>:noh<CR>gv "c-style (//) uncomment (press the [,] key) au FileType php vnoremap , :s/^\(\s*\)\/\//\1/<CR>:noh<CR>gv 这两个以HTML样式注释/取消注释 "html-style (<!-- -->) comment (press the [.] key) au FileType html vnoremap . :s/^\(\s*\)\(.\+\)$/\1<!-- \2 -->/g<CR>:noh<CR>gv "html-style (<!-- -->) uncomment (press …
9 vim  php 

4
在启动时打开NumLock吗?
我通常在Vim中进行编辑,并且在按下时+,我宁愿将手移到键盘所在的右侧,+而不是shift+ =。 但是,如果NumLock未启用,则在Vim中仅在上面打开新行并插入字母k。而且,每次启动时,我的电脑NumLock都处于关闭状态。 我想知道是否有任何xmodmap窍门打开NumLock,这样我就可以把它添加到我的.xinitrc。而且它甚至会更好,如果我可以把它添加到我的.map文件,该文件互换Escape,并CapsLock与我的负载loadkeys在我/etc/rc.local上启动。 我正在使用Arch Linux。

1
有没有办法在vim中按屏幕行移动?
在vim中编辑文件时,当我用j和k移动行时,它按文件行移动,而不是像其他编辑器一样按屏幕行移动,这是一个小麻烦。使用我自己的文件,我可以通过在vim选项中自动包装到一定长度来解决此问题,但这对其他文件没有好处。是否存在vim命令来临时将线的处理方式切换为屏幕线,或使用屏幕线移动其他命令?
9 vim 


3
从通过SSH -X打开的源编译的GVim不会在选择时复制粘贴
我正在从Ubuntu盒到RHEL4盒使用SSH(指定了-X)并运行GVim。它会按预期在我的本地X中打开,但是通过select复制和粘贴无效。我无法在GVim中选择文本并粘贴到本地窗口中,也无法从本地窗口中选择文本并粘贴到GVim中。但是,当我通过SSH(指定了-X)到另一个RHEL4框时,此方法有效。 我需要在远程计算机上安装什么东西吗? 编辑:我怀疑这与我使用的编译标志有关,但我不知道哪一个。我已经尝试了--enable-gnome-check和--enable-gtk2-check,因为我在本地计算机上运行了gnome,但这并不能解决问题。 编辑:vim --version在两个版本的vim上运行都显示出许多差异,最值得注意的是没有问题的计算机是 GTK GUI,有问题的计算机是 X11-Motif GUI。我无法将问题框配置为使用 GTK,因为我没有安装所需的所有东西。 编辑 谢谢你们到目前为止的帮助。 为了澄清起见,通过select复制/粘贴在从框A生成的GVim窗口上起作用,而不是在从框B产生的GVim窗口上起作用。框A和框B均为RHEL4 U8。 当我在GVim窗口中选择一些文本时,可以在该窗口中单击鼠标右键将其粘贴,但是不能将其粘贴到本地运行的任何文本中。当我在本地选择某个内容时,可以将其粘贴到本地,但是当我粘贴到GVim窗口中时,它将粘贴在GVim窗口中选择的最后一个内容,而不是在本地选择的最后一个内容。 只是为了使它变得有些疯狂,有时我从同一框中打开第二个GVim窗口,我可以粘贴到第二个窗口中(尽管仍然不是第一个),但是我仍然无法在该窗口中选择任何内容并将其粘贴到本地。 使用Ctrl-Shift-C可以获得相同的行为。用鼠标选择时按住Shift键可防止选择。Ctrl-Shift-V在vim中开始选择块,而不是粘贴。 我在本地机器上运行Parcellite 0.9.2,但是关闭它并不会解决问题,并且不会干扰其他机器。 编辑 出现问题的计算机是在VM Player上运行的虚拟计算机。 编辑 也在SSH上连接到虚拟RHES4 U8盒的同事没有相同的问题,但是他使用了VM上的stock vim安装,而我本人和另一个同事从源代码编译了vim。我们需要一个编译标志吗? 我尝试在其中一台VM上安装VM工具,但此问题没有影响。 编辑 我的两个盒子之间的.vimrc是相同的,被覆盖了。
9 ssh  vim  copy-paste 

2
即使设置了noai选项,vim也会自动缩进
我从腻子终端使用vim 7.2。 即使我运行set noai,似乎vim仍在尝试缩进代码。我正在将我的代码从Notepad ++复制到vim。以下是来自记事本++ 并遵循我在vim中得到的内容: 我的文件中没有任何标签。 解决方法是,我打开旧的vi运行set noai粘贴保存并再次在vim中打开。任何建议如何纠正这种行为?

1
Lua的Vim 7.3:如何使用?
最新的Vim版本很棒! 我用--enable-luainterp=yes它编译,它确实具有Lua功能: % gvim --version | egrep '\+lua' +linebreak +lispindent +listcmds +localmap +lua +menu +mksession +modify_fname 但是我该如何使用呢?到目前为止,我一直在使用Vim脚本处理文件,但是如何让它解释Lua?在Lua内部可以使用什么绑定?
9 vim 

5
FreeBSD上的vim对箭头键和其他类似vi的行为没有正确反应
我试图在FreeBSD上使用vim(通过Linux xterm兼容终端上的ssh)。但是,vim的行为类似于现成的vi。例如,它对删除键不起作用,在插入模式下插入F字符而不是向上键等。 在FreeBSD X11上没有安装。 编辑:按要求我张贴vim --version # vim --version VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 28 2010 11:48:54) Included patches: 1-6, 8-35, 37-48, 50-70, 73, 75-87, 90-92, 94-100, 102-137, 139-149, 151-171, 173-190, 192-193, 195-203, 206-211, 213-215, 217-218, 220-232, 234-246, 251-259, 261-301, 303-319, 321-322, 324-335, 337-351, 353-361, …

2
tmux:如何绑定键来启动Shell命令?
我用tmux两个窗格来开发:一个用于编辑代码,另一个用于编译。我经常需要切换窗格以启动编译命令(例如“ mvn install”)。 如何绑定键(例如“ Ctrl+ B C”)以在另一个窗格中(或根本没有任何窗格)启动该特定命令?
9 linux  shell  vim  tmux 

1
Vim:将所有以string开头的行替换为line
在此文字上 hardware mac 33:33:333:33:33 hardware mac 33:13:333:33:33 hardware mac 33:23:333:23:34 hardware mac 33:033:133:33:35 ... 我想替换所有以硬件mac开头的行 hardware mac 00:00:00:00:00:00 我努力了 sed s/^hardware mac/hardware mac 00:00:00:00:00:00/gc 并给出错误 也是经典的vim命令 %s:/^hardware mac/hardware mac 00:00:00:00:00:00/gc 但是,仅更改字符串硬件mac即可保留数字。如何用我的字符串替换以硬件mac开头的字符串?
9 vim 

1
Vim中的未知功能
我有以下文件(vimscript.vim): function HelloWorld() echo "Hello World" endfunction call HelloWorld() 当我打开该文件并键入以下内容时: :call HelloWorld() 我收到一个错误: E117: Unknown function: HelloWorld
9 vim 

2
如何在Vim中切换鼠标支持?
我最近在笔记本电脑上工作了很多,而在键入时不小心单击了鼠标。我知道我可以删除set mouse=a我的.vimrc,但有时我喜欢使用鼠标。 如何创建切换功能以切换鼠标支持?
9 vim 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.