Попытка создать пользовательские функции vim - PullRequest
1 голос
/ 20 декабря 2011

Это мой ~ / .vimrc

filetype plugin indent on
syntax on
syntax enable

""" <F5> calls make
function! CallMake() 
    :!make
endfunction
:map <F5> :call CallMake()<CR>
:imap <F5> <C-O>:call CallMake()<CR>

""" <F6> calls run.sh
function! CallRun()
    :!./run.sh
endfunction
:map <F6> :call CallRun()<CR>
:imap <F6> <C-O>:call CallRun()<CR>

""" Test
map <F7> :ls<CR>
map! <F7> :ls<CR>

""" Remapped keys
" swap ; and : in normal mode
nnoremap ; :
nnoremap : ;

" exit insert mode with jk
imap jk <Esc>

" show commands as you're typing them
set showcmd

" enable mouse
set mouse=a

" show line numbers
set number

""" Search options
set hlsearch
set ignorecase

""" tabs
set tabstop=4
set shiftwidth=4
set expandtab

colors koehler

Проблема - это все, что я получаю, когда нажимаю F5, F6 или F7 - это клеммный звонок. Кто-нибудь знает, что я делаю не так?

Я использую терминал Ubuntu 10.10 по умолчанию и zsh в качестве оболочки, если это имеет значение.

Цель здесь - заставить F5 вызвать make в текущем каталоге и сделать F6 call ./run.sh в текущем каталоге. Если есть лучший способ, чем как я это делаю, Я также хотел бы знать об этом.

Спасибо за любую помощь:)

1 Ответ

1 голос
/ 20 декабря 2011

Проблема может быть связана с вашим терминалом. Чтобы проверить это, попробуйте следующее: где вы отображаете <f5>, intead of

map <F5> :call CallMake()<CR>

тип

map ctrl-v<F5> :call CallMake()<CR>

где ctrl-v<F5> означает явный ввод ctrl-v, за которым следует клавиша F5.

Если после этого отображение F5 означает, что ваш терминал неправильно настроен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...