通过CMD + A在gvim中选择全部

时间:2013-08-14 13:22:35

标签: macos vim

有时CTRL + A,CTRL + C是一种非常流畅的方式来实现它所说的。将所有内容复制到系统剪贴板。不幸的是,这些天它没有按预期工作。 CMD + A(我在Mac上)只是不选择所有行。所以这是我的两个问题:

  1. 如何再次映射CMD + A以选择实际文件中的所有行?

  2. 正如我所问,我如何映射gg再次转到文件顶部?

  3. 最佳, Plattenschieber

3 个答案:

答案 0 :(得分:3)

  1. Mac OS X上的GVim相当于MacVim。您使用的是MacVim,或者您是否真的在XQuartz中使用GVim?

  2. 在MacVim中,Cmd + a选择整个缓冲区,Cmd + c将选择的内容复制到剪贴板。如果情况并非如此,那么已经搞砸了某些东西,或者MacVim没有正确安装(我想知道简单的拖放是如何失败的)。

  3. 如果您在终端模拟器中使用Vim,为什么要写“gvim”? Cmd密钥只能被MacVim截获,CLI Vim无法识别它,因此Cmd + a不起作用。你应该习惯Vim方式:

    :%y +
    

答案 1 :(得分:1)

你可以尝试使用你的vim进行这两个映射:

nnoremap <c-a> ggVG
nnoremap <c-c> "*y

但我不会推荐这些映射..

答案 2 :(得分:0)

这是在$VIMRUNTIME/mswin.vim中实施的。如果您不需要所有典型的(Windows)键盘快捷键,只需选择性地抓取相应的部分(可能适应左侧的映射):

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

RE:您的其他问题

  

如何映射gg再次转到文件顶部

不要问多个问题(如果你这样做,请提供更多背景信息!)你有gg的映射吗?!找出谁定义它:

:verbose nmap gg

应该告诉你。如果您无法删除不需要的映射,:nunmap gg将会执行此操作。