标签: vim

如何移动屏幕而不在Vim中移动光标?

我最近发现了Vim的Ctrl+ ECtrl+ Y快捷键,分别用一行步骤上下移动屏幕,而不移动光标.

你知道任何将光标留在原处的命令,但是移动屏幕使得有光标的线成为第一行吗?(拥有最后一行的命令将是一个很好的奖励).

我可以通过手动按Ctrl+ E(或Ctrl+ Y)适当的次数来实现这一点,但是有一个命令以某种方式直接这样做会很好.

有任何想法吗?

vim scroll cursor-position

565
推荐指数
11
解决办法
12万
查看次数

将所有行复制到剪贴板

有没有办法在VI编辑器中将所有行从打开文件复制到剪贴板.我试过,yG但它没有使用剪贴板来存储这些行.

那有可能吗?

vi vim keyboard-shortcuts editor

520
推荐指数
15
解决办法
74万
查看次数

在vim中"找到下一个"

要在vim中向前搜索cake,我会输入/cake,但是当我按下返回时光标会跳到第一个匹配.是否有类似于"查找下一个"的vim命令?

vim editing

496
推荐指数
7
解决办法
30万
查看次数

Vim和Ctags提示和技巧

我刚刚使用我的Vim(或者更确切地说是gVim)安装了Ctags(以帮助进行C++开发),并希望找到您最喜欢的命令,宏,快捷方式,以及随之而来的提示......

分享你最好的武器库.在Vim开发中你会推荐哪些其他Vim附加组件用于C++?

编辑您将与Ctags一起使用的其他附加组件?

EDIT2您使用哪个版本的gVim标签?这有什么不同吗?

EDIT3如何增强大型和小型项目的编程体验?

vim ctags vim-macros

485
推荐指数
11
解决办法
26万
查看次数

474
推荐指数
19
解决办法
36万
查看次数

^ M字符在Vim中意味着什么?

我一直^M在我的vimrc中获得角色,这打破了我的配置.

unix vim

473
推荐指数
10
解决办法
28万
查看次数

学习Vim有什么好处?

作为一名程序员,我在键盘上花了很多时间,而且在过去的12年里,我或多或少都在做.如果有一些我从未习惯过的东西,那么由于一些最常见的代码编辑任务,我在编码过程中会遇到这些烦人且几乎无意识的持续微中断.像从不同的行(或甚至同一行)进行简单的复制和粘贴,或者从当前位置向上或向下移动1或2行所需要的东西需要太多的输入或涉及使用箭头键......它会得到当我想进一步移动时更糟糕 - 我最终使用了鼠标.现在想象一下这个场景,但在笔记本电脑上.

我一直都在考虑学习VIM,但掌握它所需的时间总是让我想退后一步.

我想听听那些已经学会了它的人,以及它最终成为你不能没有的东西之一.

在工作中,我使用VS2008,C#和R#,它们使编辑代码比以往更快更容易,但即便如此,我认为我可以享受不必使用鼠标.

甚至没有箭头键.

vim editor

469
推荐指数
13
解决办法
23万
查看次数

如何让我的比赛在vim中不贪婪?

我有一个很大的HTML文件,有很多标记,如下所示:

<p class="MsoNormal" style="margin: 0in 0in 0pt;">
  <span style="font-size: small; font-family: Times New Roman;">stuff here</span>
</p>
Run Code Online (Sandbox Code Playgroud)

我正在尝试进行Vim搜索和替换以摆脱所有class="",style=""但我无法完成匹配.

我的第一次尝试是这样的

%s/style=".*?"//g
Run Code Online (Sandbox Code Playgroud)

但Vim似乎并不喜欢?.不幸的是,删除?使得比赛过于贪婪.

我如何才能使我的比赛不合适?

regex vim regex-greedy

469
推荐指数
7
解决办法
11万
查看次数

在Vim中有没有一种方法可以在不将文本放入寄存器的情况下删除?

使用Vim我经常想用我刚刚拉出的块替换代码块.

但是当我删除要替换的代码块时,该块本身会进入寄存器,该寄存器会擦除我刚刚移动的块.所以我习惯于yanking,然后插入,然后删除我不想要的东西,但是对于大块代码,这会变得混乱,试图保持插入的块和块分开删除.

那么在Vim中替换文本的最简单,最快捷的方法是什么?

  • 有没有办法删除文本而不将其放入注册表?
  • 有没有办法说例如"替换下一个单词"或"替换为下一个段落"
  • 或者是以某种方式使用多寄存器功能的最佳方式?

vim replace vim-registers

461
推荐指数
14
解决办法
7万
查看次数

如何关闭Vim中的单个缓冲区(多个)?

我在Vim中打开了几个文件,例如,运行

vim a/*.php
Run Code Online (Sandbox Code Playgroud)

打开23个文件.

然后我进行编辑并运行以下两次

:q
Run Code Online (Sandbox Code Playgroud)

它关闭了我所有的缓冲区.

如何在Vim中只关闭一个缓冲区?

vim buffer

429
推荐指数
7
解决办法
19万
查看次数