커서 위치에 붙여 넣기 기존 디렉토리 또는 파일의 경로 가져 오기


0

vim새로 구축 한 Linux 서버에서 구성 파일을 편집 하는 데 사용 하고 있습니다. 이 상자에는 기본 vim설정 (RHEL 6.2)이 있습니다.

이 파일을 편집하는 동안 가능한 한 뚱뚱한 디렉토리 및 파일 경로를 피하고 싶습니다.

foo.conf편집기에서 파일을 열었다 고 가정 합니다. 그 내용은 다음과 같습니다.

myfoo =

커서는 현재이 =파일에서 오른쪽에 있습니다. vim을 사용하여 디렉토리 이름을 여기에 삽입하고 싶습니다. 그것이 존재하는 디렉토리라고 가정 해보십시오. /etc/foo게으르고 가능한 한 적은 키 입력을 사용하고 싶습니다.

vim이 이것을 할 수 있습니까?

vim에 플러그인을 추가하거나 구성을 변경할 수 없습니다.

답변:


1

다음 ls과 같이 출력을 읽고 형식을 지정하십시오.

  1. ESC
  2. :r!ls -d /etc/fTabEnter
  3. <한 줄 위로 이동 (예 : K또는 >)
  4. Shift+J
  5. X

설명:

  1. "명령"모드 (기술적으로 "일반"모드)로 이동합니다.
  2. :r소스에서 입력을 읽고 현재 행 뒤에 삽입 !하여 다음을 쉘 명령으로 해석하여 실행합니다.
  3. 위로 가다.
  4. J 다음 줄을 연결하고 사이에 공백을 삽입합니다.
  5. 여분의 삽입 된 공간을 제거하십시오.

굉장히 내가 원하는 것! 고마워
John Dibling

Shift+x? 그게 표준이 아닙니까? 여기서 작동하지 않습니다. 내가 할 것:r!echo /etc/f <tab completion> <Enter> kJx
Daniel Andersson 7:25에

죄송합니다. <kbd>구문에 오타가있는 답변을 수정했습니다.
Bram

아, 그건 말이됩니다 :-). echo완전히 임의 의 트릭을 제외하고는 내 버전과 정확히 동일 합니다.
Daniel Andersson

1

omnicompletion 사용 : hit <C-x><C-f>, choose <CR>,, repeat…


멋지지만 현재 디렉토리의 파일에만 작동하는 것처럼 보입니까? 이것을 조사해야합니다. 이것에 vim tip 페이지 도 있습니다.
Bram

아니요 /. 파일 시스템의 첫 번째 수준 디렉토리가 표시됩니다. 그런 ../다음 위의 디렉토리에 포함 된 모든 디렉토리가 나열됩니다.
romainl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.