标签: vim

如何在vim编辑器中有效删除行的剩余部分

我想删除光标位置后的部分vim.例如,一行看起来像这样:

abcdefghijklmn
Run Code Online (Sandbox Code Playgroud)

并且光标的位置是字符c,我想删除以d.开头的字符.换句话说,我想删除defghijklmn并离开abc.我怎样才能vim优雅地使用命令?

PS:目前我只是按下Backspace键.

更新:如何从光标位置删除到begining当前行?

vim

0
推荐指数
1
解决办法
131
查看次数

映射到<c - [>但不覆盖<esc>

我想创建一个vimrc映射,让我可以更快地调整垂直分割的大小.我想过这样做:

noremap <c-[> :vertical resize +5<cr>
noremap <c-]> :vertical resize -5<cr>
Run Code Online (Sandbox Code Playgroud)

它运作得很好.唯一的问题是,因为我正在映射(控制和左方括号),当我在正常模式下击中Escape时,它也会导致分割的大小调整.我认为这是因为你通常可以作为逃避的替代品.

所以问题是,我可以映射该键序列但不映射Escape吗?我在这里丢失了一些蠢货吗?

vim

0
推荐指数
1
解决办法
367
查看次数

VIM how to replace "AA" to "BB" in a file

I need to replace a file which has thousand of lines code.

In the log, it has a specific word which I want to replace this work with some other words.

Say, how to replace all "AA" to "BB" in this file?

thanks

vi vim

0
推荐指数
2
解决办法
108
查看次数

在vim中使用bash进程替换

我想从vim使用bash进程替换,我该怎么做?我需要输入类似的东西:

:tabe `<(git show mybranch:mydir/myfile.txt)`
Run Code Online (Sandbox Code Playgroud)

该特定形式无效.如何让vim git show mybranch:mydir/myfile.txt在新选项卡中打开命令输出.

vim process-substitution

0
推荐指数
1
解决办法
141
查看次数

如何在vim中以命令行模式粘贴文本?

我复制了一个单词来搜索文件.

是否有命令在命令行模式下粘贴该单词.

例如.我在默认寄存器中复制了下面代码中的'static'这个词,我想在命令行模式下粘贴它,如下所示

/静态的

1275 static const struct of_device_id omap_mcspi_of_match[] = {
1276         {
1277                 .compatible = "ti,omap2-mcspi",
1278                 .data = &omap2_pdata,
1279         },
1280         {
1281                 .compatible = "ti,omap4-mcspi",
1282                 .data = &omap4_pdata,
1283         },
1284         { },
1285 };
Run Code Online (Sandbox Code Playgroud)

vi vim

0
推荐指数
3
解决办法
123
查看次数

如何在vim文件结束前执行命令?

我有一些看起来像:

{
hey1
},
{
you2
},
{
hey3
},
{
you4
}
Run Code Online (Sandbox Code Playgroud)

我想把它改成: {hey1}, {you2}, {hey3}, {you4}.

我知道我可以制作一个宏qa 3Jj q,103@a但我正在寻找一个不需要我的解决方案1)制作一个宏,2)知道行数.所以我尝试了类似的东西:3J . G.但这不起作用.如何在每3行执行3J命令直到文件结尾?

vim

0
推荐指数
1
解决办法
444
查看次数

Vim和ctags - 选择合适的标签

我在vim中使用ctags插件.我有一个恼人的问题 - 当我想跳转到成员函数定义时,一些具有重复名称的函数/方法列在我可以跳转的标签列表中.

更荒谬的是 - 这些标签中的大多数甚至都不匹配签名甚至是类!

怎么会这么笨?怎么能弄清楚我想要跳转到符号定义:使用相同的类和相同的签名.

如果没有插件可以执行此操作,我如何更改vim(最好使用脚本)在比较签名和类时选择成员?或者我是否必须深入了解vim代码本身呢?

我会张贴一个截图,以便人们理解我在说什么

截图

这是荒谬的,它提出了所有成员名称为"run"的标签,它甚至不关心检查相同的类和签名,因为它会完全消除这个问题!

vim ctags

0
推荐指数
1
解决办法
741
查看次数

Vim的 - 化妆点击退出插入模式

没有什么我恨超过幻影触摸板点击次数造成获得进入地方随机我的文字.现在我宁可具备打字被解释为随机Vim的命令.无论如何,我必须使离开插入模式非常明显的视觉配置,让应是一个非问题.

我该怎么做?我不认为有一种方法来映射在Vim中或拦截鼠标事件.我希望也许有一些那种的点击触发的自动命令?

我只是在谈论命令行Vim的在这里.不是的MacVim或一些这样的.

vim

0
推荐指数
1
解决办法
386
查看次数

使vim命令在初始窗口上工作,如NERDTree,MiniBufExplorer和CtrlP

我在推出vim时打开NERDTree和MiniBufExplorer,所以我有三个窗口.每当我使用上述插件时,文件/缓冲区都会显示在正确的窗口中,这是最初的窗口.但是每当我使用命令这样:e ~/.vimrc的命令工作在包含光标的窗口时.这意味着我必须始终记住将光标移动到用于编辑的窗口.我想知道是否有办法让命令在该窗口上工作,无论光标在哪里,或者文件缓冲区是否会自动出现在该窗口中?

我正在寻找一种方法让光标移动到右侧窗口时:(或者我可以使用的其他一些键)被按下,但是我无法找到方法,因为无法识别窗口(或者是否存在?).

vim

0
推荐指数
1
解决办法
1206
查看次数

直接切换到NERDTree窗口

考虑一下我有一个NERDTree窗口,然后在vim中打开了2个以上的文件视图窗口。在这种情况下,切换到NERDTree的常用方法(使用几个Ctrl + wg / h / j / k导航)不是很方便,因为它不是所有打开的窗口都通用的。

有没有一种方法可以直接切换到NERDTree(或任何其他窗口)窗口?

vim nerdtree

0
推荐指数
1
解决办法
727
查看次数

标签 统计

vim ×10

vi ×2

ctags ×1

nerdtree ×1

process-substitution ×1