-3

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

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

  2. 正如我所问的,我怎样才能将 gg 映射到文件的顶部?

最好的,Plattenschieber

4

3 回答 3

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 +
    
于 2013-08-14T13:50:49.767 回答
1

你可以用你的 vim 试试这两个映射:

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

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

于 2013-08-14T13:32:55.347 回答
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

回复:您的附加问题

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

不要问多个问题(如果你问了,请提供更多上下文!)你有映射gg吗?!找出谁定义了它:

:verbose nmap gg

应该告诉你。如果您无法删除不需要的映射,:nunmap gg则可以。

于 2013-08-14T13:33:25.073 回答