Скажем, я хочу запустить "эхо привет", когда я нажимаю <leader>T

Как я могу написать сценарий?

Есть ли способ сделать это красиво?

Я думаю о создании собственной команды.

3 ответа3

0

Вы можете сделать это с помощью этой команды:

nnoremap <leader>T :!echo hello<cr>

Или, если вас не волнует вывод:

nnoremap <leader>T :silent !echo hello<cr>

Вы можете поместить это в ваш .vimrc чтобы при запуске отображалось сопоставление.

У меня есть несколько команд, которые я хочу выполнить для текущего файла. Если вы хотите сначала сохранить какие-либо изменения, а затем передать имя файла в качестве аргумента, вы можете сделать это следующим образом:

nnoremap <leader>T :update<cr>:!cat '%:p'<cr>

где '%:p' раскрывает полный путь к файлу.

0

Вы думаете о чем-то вроде этого?

:!echo hello

и чтение содержимого оболочки (в данном случае это ls commnand):

:r !ls
0

Вы можете определить команду, используя команду. например, добавьте это в ваш .vimrc:

" define command Hello:
command! Hello echo 'hello world'

Затем вы можете запустить эту команду в командном режиме:

:Hello

Чтобы увидеть более сложные примеры, просто :verbose command COMMAND_NAME чтобы найти ее определение. например, запустить:

:verbose command NERDTree

Он говорит мне, что команда NERDTree определена в .../nerdtree/plugin/NERD_tree.vim, тогда вы можете узнать, как определяется команда NERDTree.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .