Копия Vim к Системному Буферу обмена, не перезаписывая регистр по умолчанию (")

Это -xdev работы, но возможно не, как Вы хотели бы, т.е., как указано в POSIX find человек: find -xdev выполнения до FS с различнымDevice ID (мог быть осмотрен с stat утилита или stat() systemcall), встречен:

например. linux:

# stat /home/foo
  File: `/home/foo'
    . . .
Device: fd02h/64770d
  . . .
 # stat /boot/foo
  File: `/boot/foo'
  . . . 
Device: 801h/2049d   
  . . .

Давайте найдем его с -xdev:

# find / -xdev -name foo -print
#

без:

# find / -name foo -print
/home/foo
/boot/foo

  

Осмотр Device ID на Solaris:

# truss -t lstat64 -v lstat64 ls /foo
lstat64("/foo", 0xFFBFFC48)
    d=0x02580000 . . .
# truss -t lstat64 -v lstat64 ls /etc/foo
lstat64("/etc/foo", 0xFFBFFB88)
    d=0x02580000 . . .
# truss -t lstat64 -v lstat64 ls /opt/foo
lstat64("/opt/foo", 0xFFBFFC48)
    d=0x02580004 . . .

4
15.09.2014, 14:24
1 ответ

Вам необходимо определить пользовательский оператор; : Справка: карта-оператор имеет детали и пример. С этой функцией вы можете также легко реализовать визуальный режим (уже показан в примере) и сопоставления (использование V: COUNT. 'YY' ) легко.

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

let l:save_clipboard = &clipboard
set clipboard= " Avoid clobbering the selection and clipboard registers.
let l:save_reg = getreg('"')
let l:save_regmode = getregtype('"')
" some yank
call setreg('"', l:save_reg, l:save_regmode)
let &clipboard = l:save_clipboard
1
27.01.2020, 21:01

Теги

Похожие вопросы