2013-04-14 2 views
1

Я всегда сталкиваюсь с этой проблемой в своей реальной жизни.Как вставить содержимое сразу после нескольких строк

Я хочу это:

Мой курсор находится на первой строке нескольких строк кода. Содержимое должно быть размещено сразу после нескольких строк кода.

[cursor]xxxx 
xxxxxxxxxxxx 
xxxxxxxxxxxx 
xxxxxxxxxxxx 
xxxxxxxxxxxx 
[this is where i want to place the code] 

Теперь проблема:

Поскольку p в Vim просто вставьте код после курсора, я должен идти до конца линии и p.

xxxxxxxxxxx 
xxxxxxxxxxxx 
xxxxxxxxxxxx 
xxxxxxxxxxxx 
[cursor]xxxxxx 
[this is where i want to place the code] 
+0

У вас есть курсор в реальной жизни? – romainl

ответ

4

put это команда, которую вы ищете

:[lineNo]put x 

например

:200pu 

вставит значение регистра " после LINENO 200.

:200pu n 

вставит значение регистра n (прежде чем вы, возможно, сделали: "ny) после LINENO 200.

для получения более подробной информации, проверка PLS :h :pu

EDI T для nu

Я считаю, что полезно использовать число или относительное число в разных случаях. Не придерживаться одного все время. по крайней мере, я это делаю. В моем vimrc я написал небольшую функцию для переключения относительного числа и нормальный номер строки:

function! ToggleRelativeNumber() 
    let &relativenumber = &relativenumber?0:1 
    let &number = &relativenumber? 0:1 
endfunction 
"map <leader> rn to the function 
nnoremap <silent> <Leader>nu :call ToggleRelativeNumber()<cr> 

так что я могу ввести ,nu, чтобы переключаться между ними. (Мой лидер ,)

+0

это, вероятно, решение. Но я использую относительное число ... :( – code4j

+0

@ code4j- Просто добавьте + перед номером. –

+0

@ code4j Решение Lieven должно работать на вас. Для переключения между linenumber, пожалуйста, проверьте EDIT в моем ответе. – Kent

1

Если вы хотите вставить после блока кода, вы можете использовать }P для перехода к концу блока, а затем вставьте в этой строке.

+0

Я пробовал ваше предложение. Но он работает только тогда, когда код находится во внешнем пространстве. http: // codetidy.com/5292/Как и этот код, вы можете перейти только к концу кодов, когда курсор находится вне 'if'. Когда курсор находится внутри 'if' и нажмите} p, курсор перейдет к концу внешней области – code4j

+0

@ code4j, а затем используйте другое подходящее движение. Например. '$% p', чтобы перейти в конец строки, перейдите к соответствующей фигурной скобке, затем вставьте ее ниже текущей строки. Потратьте некоторое время на чтение ': h motion.txt'. –

0

Предполагая, что вы хотите вставить из регистра по умолчанию,

  • паста после следующего появления foo:

    /foo<cr>p 
    
  • или предложение Кента:

    :+4put 
    
Смежные вопросы