진동기 복사 / 붙여 넣기


23

Vimperator 시도하고 있습니다. 나는 주로 hjkl 스크롤을 원했고 링크를 따르는 "힌트"시스템을 좋아한다. 이 두 가지 기능이 실제로 필요한 전부입니다. 내 생각에

다른 기능은 신경 쓰지 않고 때로는 방해가됩니다.

나를 가장 귀찮게하는 것은 복사 / 붙여 넣기입니다. 나는 Ctrl+ c/ Ctrl+ 사용하는 데 익숙 v하지만 다른 바로 가기를 사용하는 것은 좋지 않지만 ..

:help yank 선택한 텍스트 복사가 Y로 완료되었음을 나타내지 만 붙여 넣기에 언급 된 유일한 방법은 마우스 가운데 버튼입니다!

이것은 엄청나게 Vim의 정신에 위배됩니다!

마우스를 사용하지 않고 Vimperator에 붙여 넣을 수 있습니까?


이 질문에 대한 답변 (그들은 일곱 살 때문에하는 말이) 당신이이 (오늘 현재)하지 않습니다 당신이 찾고있는 대답 구글에서 여기 도착하면 날짜의 모든 밖으로
아서 Ulfeldt

답변:


15

가장 쉽고 쉬운 방법은 키를 다시 매핑하는 것입니다. 어렵지 않습니다. 이것을 _vimperatorrc (또는 Linux의 경우 .vimperatorrc)에 넣으십시오.

noremap <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>

<C-v>는 기본적으로 "다음 패스"모드로 매핑됩니다. 즉, 누르는 다음 키는 진동기로 처리 및 먹지 않고 Firefox로 직접 전송됩니다. 따라서 위의 매핑은 "다음 패스"모드를 활성화하고 해당 바로 가기를 보냅니다.

이 기능을 더욱 확장하고 모든 일반적인 창 단축키를 다시 매핑 하는 진동기 플러그인도 있으므로 예상대로 작동합니다.


3
<이력서> 위해 (페이스트)는 inoremap되어야
하센

플러그인 링크 허용! 이는 굉장하고 문제 해결
하센

2
현재 버전 (3.8.1)에 Cc 및 Cv가 기본적으로 OS 레벨 복사 및 붙여 넣기를 수행하는 것처럼 보입니다 ... 변경 로그에서 그것에 대해 아무것도 찾을 수 없었지만 Pentadactyl에서 최신으로 전환했습니다. Vimperator와 Cc 및 Cv는 내가 원하는대로 작동했습니다.
driftcatcher

@hangtwenty이 올바른 것 같습니다. 여기에 대한 답변이 구식입니다
Arthur Ulfeldt

36

이 질문에 더 정확한 답변이 없다는 것에 놀랐습니다. 선택한 답변의 플러그인 링크는 OP의 문제를 해결했지만 실제로 통과 (Cv) 모드를 사용하지 않고 텍스트 필드에 무언가를 붙여 넣는 방법을 설명한 사람은 없습니다.

삽입 모드의 텍스트 필드에 있고 붙여 넣기를하려면 vi-land에서해야 할 일은 ESC와 p를 눌러 붙여 넣는 것입니다. Viscerator에서는 작동하지 않습니다. ESC를 사용하면 INSERT 모드에서 페이지 / 탭 전체를 작업하는 모드로 완전히 전환 할 수 있습니다.

Vimperator는 추가 기본 모드 인 TEXTAREA를 사용하여이를 해결합니다. TEXTAREA 모드에있을 때 vi에서 사용되는 지원되는 명령을 사용할 수 있습니다.

Enter TEXTAREA mode: C-t
Paste:    p
Copy line:    yy
Delete Char:  x
Delete Line:  dd

기타.

이것은 잘 문서화되지 않은 것 같습니다-나는 대부분 실수로 그것을 알아 냈습니다. 여러 줄과 한 줄 텍스트 상자에서 동일하게 작동합니다.


이 의견에 감사드립니다. 이것이 바로 머리 둘레의 진동기와 양식 필드를 얻는 데 필요한 것입니다.
ZweiBlumen

TEXTAREA 모드로 들어갈 때 @RevAaron은 전통적인 VI 환경과 비슷하며 대부분의 VI 키는 텍스트 편집에 효과적입니까? 또한 TEXTAREA 모드에서 "d"를 누른 다음 "s"또는 "a"를 누르면 모드가 VISUAL이라는 모드로 바뀝니다. 이것에 대한 정보를 제공해 주시면 감사하겠습니다. 또는 당신이 내가 질문으로 넣을 수 있다면 당신이 그것에 대답 할 수 있다면 다른 사람들이 그것을 사용할 것입니다.
Mehrad

13

현재 진동기는 Ctrl + C ( '복사'에서 '취소'로)와 Ctrl + V ( '붙여 넣기'에서 '통과'로)를 다시 매핑합니다. Linux에서 선호하는 복사 / 붙여 넣기 방법은 마우스 가운데 버튼을 사용하는 것이므로 문제가되지 않습니다. Windows에서 이는 사용자 인터페이스 재해이므로 수정해야합니다.

복사 할 수있는 위치는 웹 페이지의 텍스트, 양식 필드의 텍스트 및 외부 응용 프로그램의 세 가지입니다. 복사 할 수있는 위치는 양식 필드와 외부 응용 프로그램입니다. 주소 및 명령 모음은 양식 필드처럼 작동합니다.

Copying from...
     A web page: 'Y' works, '^C' doesn't
     Form field: 'Y' doesn't work, '^C' does
     Extern application: 'Y' doesn't work, '^C' does
  Copying to...
     Form field: '^V' doesn't work, '^V,^V' does
     External application: '^V' works, '^V,^V' pastes twice
 Or, seen another way
       Copy  Paste
 Page  Y     N/A
 Form  ^C    ^V,^V
 App   ^C    ^V

일반 사용자는 해당 테이블을 기억하지 않습니다. 그들은 명시 적으로 문서화되어 있지 않기 때문에 절대로 알아낼 수 없으며, 읽더라도 읽지 않을 것입니다. 대신, 그들은 모든 곳에서 작동하는 유일한 메뉴 인 오른쪽 클릭 메뉴를 사용합니다. 사실, Vimperator를 사용하기 시작한 지 몇 주 후, 나는 전혀 관련이없는 응용 프로그램에서 전에는 해 본 적이없는 일을하고있었습니다.

^ C 및 ^ V를 복사하여 붙여 넣기 같은 원래의 올바른 기능으로 복원해야합니다. 이는 ^ C = 취소 및 ^ V = 통과 핫키를 대체하는 것을 의미합니다. 실제로,이 핫키는 모두 진동기에 고유하며 vim에는 나타나지 않습니다. ^ V는 vim에서 '블록 비주얼'을 의미하며, 이는 진동기에 적용되지 않으므로 패스 스루를 다른 키에 쉽게 할당 할 수 있습니다. 명령 모드에서는 백 슬래시를, 명령 및 삽입 모드에서는 ctrl + backslash를 사용하는 것이 좋습니다. ^ C를 떠납니다. ^ S로 옮겨야한다고 생각합니다. 여기에는 두 가지 좋은 니모닉이 있습니다. '중지'이며 XOFF의 유닉스 핫키이기도합니다. ^ S는 현재 진동기에서 "다른 이름으로 페이지 저장"으로 사용되며 거의 사용되지 않으며 여전히 : save 또는 : saveas로 액세스 할 수 있습니다.

실행 취소도 깨졌습니다. ^ Z이지만 ^ Z는 통과 모드가 아니며 마우스를 사용하지 않고 양식 필드에서 편집을 취소 할 수있는 방법이 없습니다. 나는 다른 핫키로 이것을 옮기지 않을 이유가 없다. 특히 vim의 ^ Z는 일시 중지를 의미하기 때문에 완전히 관련이 없으며 예기치 않게 패스 스루 모드에서 자신을 찾는 것은 매우 혼란 스러울 수 있기 때문이다. 나는 이것을 임의의 핫키로 바꾸는 것을 생각할 수 없지만 ^ Z는 처음에는 임의적이어서 사용하지 않은 핫키는 그렇게 할 것이다.

Soruce : http://www.mozdev.org/pipermail/vimperator/2008-October/002359.html


2

나는 이것을 잠시 동안 할 수있는 방법을 찾고있었습니다. 좋은데 그러나 joe가 지적한 것처럼 명령 줄이나 텍스트 상자에 붙여 넣으려면 user4126의 noremap 솔루션이 완벽하지 않았습니다. 그래서 http://charlieharvey.org.uk/page/vimperator_cut_and_paste 에서 inoremap과 cnoremap으로 조정했습니다 . vnoremap이 지원되는 것처럼 보이지 않습니다.

따라서 ctrl-v 바로 가기를 한 번만 사용하여 명령 줄과 텍스트 상자에 붙여 넣을 수 있습니다. .vimperatorrc에 다음을 붙여넣고 Firefox를 다시 시작하십시오.

noremap <C-v> <C-v><C-v>
inoremap <C-v> <C-v><C-v>
cnoremap <C-v> <C-v><C-v>

noremap <C-c> <C-v><C-c>
inoremap <C-c> <C-v><C-c>
cnoremap <C-c> <C-v><C-c>

2

어디에서나 Ctrl+를 볼 수 없으므로 유용한 답변을 찾지 못했습니다 c. 내가하는 일은 SecureCRT 단축키를 사용하는 것입니다. 즉, 페이지에서 복사하는 경우 :

Ctrl+Ins

붙여 넣기의 경우 : 누군가가 다른 곳에서 답변에서 말하는 것처럼 Ctrl+ V두 번.


감사합니다, 선생님 <cc>를 <c-ins>에 매핑하면이 문제의 특정 특징이 해결되었습니다.
Steve Vermeulen 2016 년


1

짧은 답변-^ V ^ V (예 : Ctrl-V Ctrl-V)

첫 번째 Ctrl-V는 "다음 키 입력 통과"를 수행합니다. 두 번째 Ctrl-V는 텍스트를 붙여 넣습니다. 이것이 대부분의 텍스트 필드에서 수행하는 작업입니다.

여러 줄 텍스트 필드에 vi 모드를 사용하는 경우 (noinsertmode 설정) p를 사용하여 붙여 넣을 수도 있습니다. 따라서 다른 탭의 URL을이 태그에 붙여 넣으려면 해당 탭으로 이동하여 y를 사용한 다음 이 탭. 브라우저의 하단 막대에 TEXTAREA가 표시되고 p를 눌러 URL에 붙여 넣을 수 있습니다.


0

나는 사용하는 것이 좋습니다

map <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>

외부 텍스트 편집기를 열면 FF의 간단한 Cc 창이 외부 편집기를 종료하고 모든 것을 잃게됩니다.

BR

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.