2016-11-25 5 views
0

Я недавно найденный мой .vimrc, который содержал эту функцию:Broken 'LS' после того, как источник ~/.vimrc

33 function! InsertTabWrapper() 
34 let col = col('.') - 1 
35 if !col || getline('.')[col - 1] !~ '\k' 
36  return "\<tab>" 
37 else 
38  return "\<c-p>" 
39 endif 
40 endfunction 
41 inoremap <tab> <c-r>=InsertTabWrapper()<cr> 
42 inoremap <s-tab> <c-n> 

Я тогда из командной строки сделал

source ~/.vimrc 

Теперь, когда я пробег

$ls 

Я вижу фрагменты этой функции на выходе.

$ ls 
? else? ??return <c-p 
? endif?endfunction?inoremap <tab> <c-r>=InsertTabWrapper()<cr>?inoremap <s-tab> <c-n>?? 
Applications 
Desktop 
Documents 

Я так и не смог найти это. Благодаря!

+0

@TessellatingHeckler Я не могу удалить их, и я не получил завершение вкладки на «? Else? ?? return user3740901

+0

@TessellatingHeckler rm * return * работал! Gui, которого я пробовал, даже не показывал файлы. Благодаря! – user3740901

+0

Рад, что помогло :) Я переместил свои комментарии в правильную форму ответа, если вы хотите «пометить» ее как принятую. (Я начал с комментариев в случае, если я пошел совершенно неправильно) – TessellatingHeckler

ответ

1

Bash не может читать Vim синтаксиса, я предполагаю, что это будет срабатывать по линиям (function, let, if) и забрать первый > как файл IO перенаправление. И это фактически два файла в вашем каталоге, который он создал, со странными символами в их именах.

Это подтверждается тем фактом, что результат начинается после первого > и переходит на новую строку после второго >, и эти два символа отсутствуют на выходе.

i.e. ls работает нормально, и они действительно существуют как файлы. Вы можете удалить их? У вас есть другой способ просмотра файлов? (Gui, FileZilla через SFTP, WinSCP и т. д.?). Вы можете попробовать rm *return* и rm *endfunction*, или (осторожно) использовать rm -i *, который подскажет y/n удалять каждый файл и укажет только y, если эти файлы появятся.

(но, возможно, я ошибаюсь, и это совсем не то, что произошло вообще. Если я попытаюсь исправить ваш код файла, я не буду разбивать ls или ложные файлы в папке).

Смежные вопросы