Ярлык Vim Leader останавливается после <CR> - PullRequest
0 голосов
/ 09 марта 2020

У меня есть файл ~/.vim-clipboard, где у меня есть другие приложения, настроенные на отображение полного пути к файлу, поэтому предположим, что содержимое ~/.vim-clipboard:

/home/user/example.txt

В vim я хочу выполнить ярлык лидера таким образом:

  1. Файл ~/.vim-clipboard открывается в новой вкладке vim,
  2. Команда vim gf выполняется для имени файла в буфере обмена. файл и
  3. Этот файл затем открывается на этой вкладке vim

У меня есть это отображение в моем .vimrc:

nnoremap <F8> gf
nnoremap <leader>y :tabnew ~/.vim-clipboard<CR><F8>

К сожалению, <leader>y отображение прекращается после <CR> в этой строке. Я пробовал разные вещи, чтобы заставить его работать, включая использование gf вместо сопоставления <F8>, но я не могу заставить его работать, и я не могу найти что-нибудь полезное в SO или в сети.

Я промежуточный пользователь vim, поэтому, пожалуйста, прости меня, если есть простое решение этого в vimscript или что-то в этом роде. Любая помощь приветствуется - спасибо!

Ответы [ 2 ]

1 голос
/ 09 марта 2020

Если вам нужна карта <F8> на карте <leader>y, вам нужно использовать рекурсивную карту. Измените nnoremap (что означает нерекурсивную карту) на nmap:

nmap <leader>y :tabnew ~/.vim-clipboard<CR><F8>

Рекурсивные карты задокументированы в :help recursive_mapping

0 голосов
/ 15 марта 2020

В качестве рекомендации, чтобы избежать наличия файла .vim-clipboard в списке буферов, вы также можете попробовать:

nnoremap <leader>y :execute 'tabnew ' . system('cat ~/vim-clipboard')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...