V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jaywcjlove
V2EX  ›  Vim

vim 神配置,现在出现了一点点问题,如何配置保存不选中呢?

  •  
  •   jaywcjlove · 2017-02-25 11:14:09 +08:00 · 3423 次点击
    这是一个创建于 2814 天前的主题,其中的信息可能已经有所发展或是发生改变。
    nmap <Leader>w :w<CR>         " 定义快捷键保存当前窗口内容
    

    配置了个快捷键保存代码,可是每次快捷键保存,它选中整个文档,很不方便,又得重新定位到原来的地方。

    这里是我的整个配置

    https://github.com/jaywcjlove/vim-web

    14 条回复    2017-02-27 20:19:59 +08:00
    sfwn
        1
    sfwn  
       2017-02-25 11:27:51 +08:00
    正常的使用 :w<CR> 保存文件时会选中整个文档,然后需要重新定位到原来的地方吗?
    jaywcjlove
        2
    jaywcjlove  
    OP
       2017-02-25 11:29:17 +08:00
    好吧找到一个方法,但是还是不方便

    返回上一位置

    ```
    Ctrl + O
    Ctrl + I
    ```
    jaywcjlove
        3
    jaywcjlove  
    OP
       2017-02-25 11:29:55 +08:00
    @sfwn 我这个找到一个方法,但是这个方法还是觉得不科学
    jaywcjlove
        4
    jaywcjlove  
    OP
       2017-02-25 11:33:03 +08:00
    @sfwn 是你这个意思诶, 再定个快捷键?
    sfwn
        5
    sfwn  
       2017-02-25 11:40:48 +08:00
    @jaywcjlove 我的意思是让你测试一下直接用原始的 :w 回车,表现的正常不正常。正常的话不会选中整个文档,光标也会是在原来的位置。
    如果正常的话,估计是哪个插件引起的。你可以试着禁用所有插件试下。
    jaywcjlove
        6
    jaywcjlove  
    OP
       2017-02-25 11:44:49 +08:00
    @sfwn 好的我试一试。🙏
    NoAnyLove
        7
    NoAnyLove  
       2017-02-25 11:49:27 +08:00
    我的配置文件也是这样写的啊,没有出现你说的情况

    ```
    nnoremap <Leader>w :w<CR>
    ```
    jaywcjlove
        8
    jaywcjlove  
    OP
       2017-02-25 12:15:25 +08:00
    @NoAnyLove 估计是我的插件问题吧
    jaywcjlove
        9
    jaywcjlove  
    OP
       2017-02-25 12:18:47 +08:00
    @sfwn 问题排查出来了, 这个插件冲突问题

    ```
    " 快捷键选中 `<>`、`[]`、`{}` 中间的内容
    " Plug 'gcmt/wildfire.vim'
    ```
    jaywcjlove
        10
    jaywcjlove  
    OP
       2017-02-25 12:25:24 +08:00
    @NoAnyLove 使用 nnoremap 没有问题 nmap 就会有问题...
    DiamondbacK
        11
    DiamondbacK  
       2017-02-25 16:17:12 +08:00
    永远不要使用 recusive map 。
    chemzqm
        12
    chemzqm  
       2017-02-25 16:59:54 +08:00
    我用的是:
    nnoremap <M-s> :wa<cr>
    inoremap <M-s> <C-o>:w<cr>
    然后让 iterm 把 <Command-s> 发送给 shell

    这样我就可以像其它 app 一样使用 command+s 来保存了,仅供参考
    ltux
        13
    ltux  
       2017-02-25 17:39:16 +08:00
    noremap <C-S> :update<CR>
    vnoremap <C-S> <C-C>:update<CR>
    inoremap <C-S> <C-O>:update<CR>
    jaywcjlove
        14
    jaywcjlove  
    OP
       2017-02-27 20:19:59 +08:00
    @chemzqm 我定义好了没有问题了

    nnoremap <Leader>q :q<CR> " 定义快捷键关闭当前分割窗口
    nnoremap <Leader>w :w<CR> " 定义保存快捷键
    nnoremap <Leader>WQ :wa<CR>:q<CR> " 定义快捷键保存所有窗口内容并退出 vim
    nnoremap <Leader>Q :qa!<CR> " 不做任何保存,直接退出 vim
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1137 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:36 · PVG 07:36 · LAX 15:36 · JFK 18:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.