Как определить дословно строку в vim - PullRequest
1 голос
/ 26 декабря 2010

Есть ли способ определить строку с символом новой строки, дословно в vim.Короче говоря, я ищу vim-эквивалент следующей команды bash

printf " 
/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
* File Name :
* Last Modified :
* Created By :  
_._._._._._._._._._._._._._._._._._._._._.*/
"

Я могу сделать это путем (а) печати каждой строки по отдельности, (б) добавления «^ M» к каждой строке(c) читать текст из файла, используя: r, все они немного громоздки.Есть ли чистый способ наподобие printf bash в vim.

Я хочу добавить это в мой ~ / .vim / after / c.vim, чтобы каждый раз, когда я открывал новый файл c, в него добавлялось вышеизложенное.

Ответы [ 3 ]

2 голосов
/ 27 декабря 2010

Я хочу добавить это в мой ~ / .vim / after / c.vim, чтобы при каждом открытии нового файла c в файл добавлялось вышеупомянутое.

Безплагины, vim предлагает сделать это, прочитав содержимое файла скелета для выбранных вами типов файлов.

От :help skeleton:

To read a skeleton (template) file when opening a new file:
  :autocmd BufNewFile  *.c       0r ~/vim/skeleton.c
  :autocmd BufNewFile  *.h       0r ~/vim/skeleton.h
  :autocmd BufNewFile  *.java    0r ~/vim/skeleton.java

Это полностью не интерактивно.Существует множество плагинов, которые предоставляют и улучшают эту функцию, включая вышеупомянутый шаблон mu, а также snipMate .

0 голосов
/ 26 декабря 2010

В вашем конкретном случае обычный подход состоит в том, чтобы полагаться на плагины загрузчика / расширителя шаблонов (TEP), которые запускаются при событии BufNewFile - стандартного pathanme для такого рода функций нет (т. Е. .vim/after/c.vim, .vim/after/plugin/c.vim или .vim/after/ftplugin/c.vim не годятся).

Более того, некоторые TEP смогут сделать гораздо больше, чем просто заполнить заголовок по умолчанию для всех ваших файлов. Например, mu-template (я поддерживаю) обеспечит стандартные (настраиваемые) средства защиты заголовков (в случае файлов заголовков) или включит любой найденный соответствующий файл заголовков (в случае исходных файлов). (Заголовки файлов также могут быть переопределены для каждого отдельного проекта).

0 голосов
/ 26 декабря 2010

Попробуйте:

:map foo i/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
* File Name :
* Last Modified :
* Created By :  
_._._._._._._._._._._._._._._._._._._._._.*/

в ~ .vimrc (Linux)

Обратите внимание на «я» в начале. Теперь вы вводите foo в Командный режим для получения результата.

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