标签: vim

识别vim中的按键动作

我正在从另一个类似 vi 的编辑器过渡到 vim。我一直尝试使用旧的组合键,但当然 vim 有不同的映射。如何找出我按下的组合键映射了哪些功能?例如,我可能会推动Ctrl-O并发生一些事情,但我不明白它是什么,并且想了解它。

vim

2
推荐指数
1
解决办法
2549
查看次数

取消 inoremap

考虑以下.vimrc配置:

inoremap ' ''<left>
function! someFunc()
     inoremap ' '
Run Code Online (Sandbox Code Playgroud)

现在,运行 someFunc() 后,按下'仍会等待超时时间,然后再移动光标。是否可以取消而不是覆盖原来的内容inoremap以消除等待?

谢谢。

vim

2
推荐指数
1
解决办法
948
查看次数

自动检测并使用当前文件的缩进样式

我从事的几个项目使用不同的缩进级别(2 个空格/4 个空格/制表符...)。

是否可以让Vim自动检测当前文件的缩进样式并使用它,也就是说,Tab键是否可以“智能”地以“正确的方式”缩进?

vim

2
推荐指数
1
解决办法
1220
查看次数

如何禁用每个站点的 Pentadactyl?

有没有更明确的方法可以在 url 基础上禁用 Pentadactyl,而不是 -- PASS THROUGH --

当我尝试使用 codepen.io 时,无论是否启用传递,我都无法编辑任何文本字段。任何不像去附加组件页面禁用 Pentadactyl 那样激烈的想法将不胜感激。我知道 Vimperator 有这个功能,Pentadactyl 有吗?

firefox vim vimperator pentadactyl

2
推荐指数
1
解决办法
674
查看次数

点“.” 不重复上一个命令

不知何故,点“。” 命令不会为我重复最后一个命令。我正在通过发出:/xml和 vi 来搜索字符串“xml”的文件,正如预期的那样,将我带到下一个查找。但是现在当我按下“。” 什么也没有发生(光标完全停留在那里),但如果我再做:/xml一次,我会被带到下一个查找。

可能有什么问题?

vim

2
推荐指数
1
解决办法
789
查看次数

Vim:映射 shift-K 以在新选项卡中打开当前单词的帮助

结合/sf/ask/219197541/,我还希望制作打开帮助的 shift-K 快捷方式在新选项卡中。

我第一次尝试nmap <S-K> :tab help expand("<cword>")<CR>,但它实际上不起作用 -expand显然是字面上的帮助标记文本,并且没有执行。

那么,如何<S-K>在 Vim 的新选项卡中重新映射以获取有关当前单词的帮助?

keyboard-shortcuts remapping vim help-files keymap

2
推荐指数
1
解决办法
6450
查看次数

在vim中的拆分窗口之间移动线

我有两个文件,比如a.txtb.txt,在 vim 的同一个会话中,我拆分了屏幕,所以我a.txt在上部窗口和b.txt下部窗口中有文件。

我想在这里动线,有来自a.txtb.txt:我选择了行Shift+ v,然后我移动到b.txt与下窗Ctrl+ w ,用粘贴p,回到a.txtCtrl+ w ,我可以重复操作,当我到达另一条线我想移动。

我的问题:有没有更快捷的方式说vim “将我所在的行(或我选择的测试)发送到另一个窗口”

vim

2
推荐指数
1
解决办法
1564
查看次数

在 Vim 中将行连接到文本模式之后

我尝试使用 vim 加入线路但没有成功

假设我有一个如下所示的文本文件:

HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
Run Code Online (Sandbox Code Playgroud)

我想加入所有以 HI 开头的行。到之后的你好。使其看起来像:

Hello HI
A, b, c, d,
Hello HI
A, b, c, d,
Hello HI
A, b, c,
Hello HI
A, b, c, d,
Run Code Online (Sandbox Code Playgroud)

vim regex

2
推荐指数
1
解决办法
789
查看次数

将第一个文件中的每一行与第二个文件中的所有行进行比较?

我有得到由2个不同版本的同一工具生成的项目2所TCL表示,让我们给他们打电话v1.tclv2.tcl

除了行的顺序之外,这些日志对于所有意图和目的在逻辑上通常是相同的。当我的项目的版本 1 和 2 相同时,每行都v1.tcl将在某处恰好出现一次v2.tcl

我希望能够确定是否有人做出了v2.tcl需要向后移植的更改v1.tcl(或反之亦然)……换句话说,我只想看到不匹配的行。例如:

  1. v1.tcl

    foo1
    bar1
    hello1
    world1
    
    Run Code Online (Sandbox Code Playgroud)
  2. v2.tcl

    hello1
    bar1
    foo2
    world1
    goodbye2
    
    Run Code Online (Sandbox Code Playgroud)
  3. “差异”返回值:

    file1:1 foo1
    file2:3 foo2
    file2:5 goodbye2
    
    Run Code Online (Sandbox Code Playgroud)

我应该写我自己的小脚本吗?有没有工具可以做到这一点?

script bash diff vim command-line

2
推荐指数
1
解决办法
684
查看次数

是否可以将“Ctrl+CapsLock”映射到 VSCode Vim 中的转义键?

我使用CapsLock钥匙作为Ctrl钥匙和Esc钥匙使用下面的命令

remapCapsLockToControl() {
    xmodmap -e 'keycode 66 = Control_L'
    xmodmap -e 'clear Lock'
    xmodmap -e 'add Control = Control_L'
    echo "remapCapsLockToControl"
}

remapControlToEsc() {
    xcape -e "Control_L=Escape"
    echo "remapControlToEsc"
}
Run Code Online (Sandbox Code Playgroud)

通过这些设置,我可以在 Vim (Ubuntu 18) 中使用CapsLock密钥作为Esc密钥。但是我不能在 VSCode vim 模式下使用CapsLock键作为Escape键。当按下一个CapsLock键时,VSCode 会在下面显示一条消息。

(Ctrl+CapsLock) 被按下。等待第二把钥匙……

我无法输入Ctrl+CapsLockextension.vim_escape“首选项:打开键盘快捷键”的。按键输入窗口关闭CapsLock

keyboard-shortcuts vim visual-studio-code

2
推荐指数
1
解决办法
4336
查看次数