VIM 고급 운영 기술 살펴보기
소개 | 이 기사에서는 다른 일반 텍스트 편집기로는 완료할 수 없거나 매우 느리게 완료되는 몇 가지 간단한 VIM 작업을 수집합니다. 이 글의 소개를 통해 초보자들은 VIM 학습에 대한 결심과 자신감을 강화할 수 있습니다. 시연하기 쉽고 좋은 간단한 기술이 있다면 메시지를 남겨주세요. 또한 달리 명시하지 않는 한 이 문서에 언급된 키는 대/소문자를 구분합니다. 예를 들어, 기사에 "G를 누르세요"라고 되어 있는 경우 누르는 키는 "Shift + G"여야 합니다. |
먼저 VIM을 열고 오늘 시연을 위한 텍스트를 입력합니다.
으아아아 2. 찾기 및 바꾸기ESC를 여러 번 눌러 일반 모드로 들어가서 다음 명령을 입력하세요: :%s/ /r/g/ . Enter를 누른 후 얻는 효과는 다음과 같습니다.
으아아아설명: 이 명령의 기능은 기사의 모든 공백을 캐리지 리턴으로 바꾸는 것입니다. 거의 모든 편집기가 찾기 및 바꾸기를 지원하지만 모든 편집기가 공백을 캐리지 리턴으로 바꾸는 것을 지원하는 것은 아니므로 이 기능은 다른 많은 편집기에서 구현하기가 상대적으로 번거롭습니다.
3. 라인 접합지금은 한 줄의 텍스트를 4줄로 나누었습니다. 그러면 다시 연결하려면 어떻게 해야 할까요? 물론 앞서 언급한 검색 및 바꾸기 방법을 사용하여 캐리지 리턴을 공백으로 바꾸어 줄을 연결할 수 있습니다. 그러나 여기서는 다른 방법을 사용합니다.
ESC를 여러 번 눌러 일반 모드로 들어간 다음 ggVG 명령을 입력하세요. gg는 텍스트의 시작 부분으로 이동을 의미하고, V는 줄 선택 모드로 들어가는 것을 의미하며, G는 기사의 끝으로 선택을 의미합니다. 이 3가지 명령, 총 4번의 키 입력으로 전체 기사를 선택했습니다.
그런 다음 콜론:을 눌러 명령 모드로 들어갑니다. :'라는 단어가 상태 표시줄에 나타납니다. 그 뒤에 j를 입력하고 Enter를 누르면 전체 기사가 연결되는 것을 볼 수 있습니다. 다시 함께, Enter를 포함한 전체 작업에는 7번의 키만 누르면 됩니다.
으아아아 4. 복사, 붙여넣기 및 반복 작업ESC를 몇 번 눌러 일반 모드에 있는지 확인한 다음 yy를 눌러 현재 줄을 기본 레지스터(클립보드와 동일)에 복사합니다. 그런 다음 12p를 누르면 VIM이 붙여넣기 작업을 12번 수행하고 다음과 같은 13줄의 문자가 화면에 나타납니다.
으아아아설명: VIM에서는 복사 및 붙여넣기 작업이 매우 빠릅니다. 또한 VIM의 대부분 명령은 명령 앞에 숫자를 추가하여 여러 번 반복할 수 있습니다.
5. 컬럼 작업다음으로 각 줄 시작 부분의 첫 글자를 대문자로 변경합니다.
ESC를 여러 번 눌러 일반 모드인지 확인한 다음 gg를 눌러 첫 번째 줄로 이동하고 Ctrl + v를 눌러 열 선택 모드로 들어갑니다(Ctrl + v를 누르고 열 선택 모드로 들어가지 못한 경우) , 여기를 참조하세요.) 그런 다음 G를 눌러 기사의 마지막 줄로 이동합니다. 이 시점에서 텍스트의 첫 번째 열이 선택되고 첫 번째 열만 선택되는 것을 볼 수 있습니다. U 키를 누르면 각 줄의 첫 글자가 대문자로 바뀌는 것을 볼 수 있습니다. 팁: 텍스트를 선택한 후 u를 눌러 텍스트를 소문자로 변경하세요. 텍스트를 선택한 후 ~를 눌러 원래 대소문자를 바꾸세요.
으아아아그런 다음 각 줄 앞에 별표를 추가합니다. gg를 눌러 첫 번째 줄로 이동하고 Ctrl + v를 눌러 열 선택 모드로 들어간 다음 G를 눌러 전체 텍스트의 첫 번째 열을 선택한 다음 I를 눌러 열 삽입 상태로 들어가고 별표 *를 입력한 다음 누르세요. ESC. 모든 줄 앞에 별표가 붙는 것을 볼 수 있습니다:
으아아아설명: 프로그램을 작성하는 사람들에게 일괄적으로 코드 조각을 주석 처리하는 것은 열 삽입을 사용하여 쉽게 수행할 수 있는 작업입니다. 또한, 컬럼을 선택한 후 x를 누르면 선택된 블록을 삭제할 수 있고, 일괄적으로 주석 처리를 해제할 수 있습니다.
6. 매크로 녹화다음으로 텍스트의 짝수 줄을 다음과 같이 변경하고 싶습니다. This is another test. 모든 짝수 행은 동일한 작업을 수행해야 하므로 이 작업을 기록하고 여러 번 반복하여 재생하면 작업을 빠르게 완료할 수 있습니다.
먼저 ESC를 여러 번 눌러 Normal 모드인지 확인한 다음 gg를 눌러 첫 번째 줄로 점프하고 작업 시작을 준비하세요. 먼저 q 키를 누른 다음 다른 문자를 눌러 해당 문자에 해당하는 레지스터에 이 매크로를 기록합니다. 예를 들어, 여기서 m 레지스터를 사용한다면 qm을 누르십시오. 이때 VIM 상태 표시줄에 "녹음 중"이라는 단어가 나타나 녹음 상태에 진입했음을 나타냅니다.
然后,我们把第二行的 a 修改为 another。首先按 j 进入第二行,然后按 $ 跳到行末,再按两下 b 往前跳两个单词,此时光标停在字母 a 上。然后我们按下 caw键删除 a 并进入插入状态,然后输入 another ,按 ESC 回到 Normal 状态,按 j 进入下一行,整个操作步骤就完成了。最后,我们再按一下 q,结束该宏的录制。
接下来我们播放这个宏,完成整个操作步骤。在键盘上输入 1000@m,表示将 m 寄存器里的宏播放 1000 次,马上可以看到,文章中所有偶数行的 a 都变成了 another。
*This is a test *This is another test *This is a test *This is another test *This is a test *This is another test *This is a test *This is another test *This is a test *This is another test *This is a test *This is another test *This is a test
解说:虽然我们指定播放 1000 次,但事实上,执行到第 6 次的时候,光标挪到了屏幕最下方,于是执行过程就自动停止了。因此,在批量操作的时候,我们可以指定足够大的数字,而不用担心出现问题。
另外,修改 a 的时候,我们跳到行末后再使用 b 命令以单词为单位跳转,而没使用 h 一个字母一个字母往回挪,我们使用caw 修改整个单词,而不使用 s 命令删除单个字母并进入 Insert模式。这些细节可以保证录制得到的宏更具有一般性。
7. 行尾块操作注:本章由 Jason Han 网友贡献,感谢他来信指出滇狐原先对于行尾块操作理解的错误。
下面,我们要在每行的尾部都添加一个感叹号。之前我们在每行头部添加一个星号的时候,用的是 Ctrl-V 列操作。现在要在行尾添加,能不能继续用列操作呢?直观上似乎是不行的,每行的长度不一样,行尾位置参差不齐,如何使用列模式往行尾添加东西呢?
事实上,Vim 提供了一种特殊的列模式,叫做行尾块模式,也就是说,我们是可以通过 Ctrl-V模式来选中长度不同的行的行尾,然后对行尾作统一操作的,操作步骤如下:
按下 gg 跳到第一行,按 Ctrl-V 进入列选择模式,再按 G,选中全文的第一列,然后按下 $,进入行尾块模式,按下 A,进入块插入状态,输入星号 !,再按下 ESC,你会看到,所有行尾部都出现了一个感叹号:
*This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test!
接下来,我们在每行的末尾加上一个小于号 。
由于我们需要在每行后面添加新行,因此我们无法使用块选择方式批量添加小于大于号。使用宏录制的方式是可以做到这点的,但操作稍嫌繁琐了一些。使用点命令,可以非常方便地做到这一点。
先按几下 ESC 确认当前出于 Normal 模式,然后使用 gg 跳到第一行,按 A 进行行尾插入,输入 ,最后 ESC 回到 Normal 状态,第一行修改就完成了。
然后,我们按 j 进入下一行,也就是第三行,再按 .,可以看到,第三行尾部也出现了小于号,并且自动添加了第四行的大于号。反复按j.j.j. ,直到每一行都完成了这个编辑动作为止。
*This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test! *This is another test! *This is a test!
解说:点命令的作用是,重复最近一次所做的编辑操作。由于在第一行里做的操作是行尾添加并插入新行,因此在第三行(原先的第二行)重复这个动作的时候,也会在行尾添加同样的字符。点命令功能不如宏强大,但它使用起来比宏简便,因此也有着广泛的用途。
위 내용은 VIM 고급 운영 기술 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Centos와 Ubuntu의 주요 차이점은 다음과 같습니다. Origin (Centos는 Red Hat, Enterprise의 경우, Ubuntu는 Debian에서 시작하여 개인의 경우), 패키지 관리 (Centos는 안정성에 중점을 둡니다. Ubuntu는 APT를 사용하여 APT를 사용합니다), 지원주기 (Ubuntu는 5 년 동안 LTS 지원을 제공합니다), 커뮤니티에 중점을 둔다 (Centos Conciors on ubuntu). 튜토리얼 및 문서), 사용 (Centos는 서버에 편향되어 있으며 Ubuntu는 서버 및 데스크탑에 적합), 다른 차이점에는 설치 단순성 (Centos는 얇음)이 포함됩니다.

CentOS 설치 단계 : ISO 이미지를 다운로드하고 부팅 가능한 미디어를 실행하십시오. 부팅하고 설치 소스를 선택하십시오. 언어 및 키보드 레이아웃을 선택하십시오. 네트워크 구성; 하드 디스크를 분할; 시스템 시계를 설정하십시오. 루트 사용자를 만듭니다. 소프트웨어 패키지를 선택하십시오. 설치를 시작하십시오. 설치가 완료된 후 하드 디스크에서 다시 시작하고 부팅하십시오.

Centos는 중단되었으며 대안은 다음과 같습니다. 1. Rocky Linux (Best Compatibility); 2. Almalinux (Centos와 호환); 3. Ubuntu 서버 (구성 필수); 4. Red Hat Enterprise Linux (상업용 버전, 유료 라이센스); 5. Oracle Linux (Centos 및 Rhel과 호환). 마이그레이션시 고려 사항은 호환성, 가용성, 지원, 비용 및 커뮤니티 지원입니다.

Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

Centos가 중단 된 후 사용자는 다음과 같은 조치를 취할 수 있습니다. Almalinux, Rocky Linux 및 Centos 스트림과 같은 호환되는 분포를 선택하십시오. Red Hat Enterprise Linux, Oracle Linux와 같은 상업 분포로 마이그레이션합니다. Centos 9 Stream : 롤링 분포로 업그레이드하여 최신 기술을 제공합니다. Ubuntu, Debian과 같은 다른 Linux 배포판을 선택하십시오. 컨테이너, 가상 머신 또는 클라우드 플랫폼과 같은 다른 옵션을 평가하십시오.

대 코드 시스템 요구 사항 : 운영 체제 : Windows 10 이상, MacOS 10.12 이상, Linux 배포 프로세서 : 최소 1.6GHz, 권장 2.0GHz 이상의 메모리 : 최소 512MB, 권장 4GB 이상의 저장 공간 : 최소 250MB, 권장 1GB 및 기타 요구 사항 : 안정 네트워크 연결, Xorg/Wayland (LINUX)

실패한 Docker 이미지 빌드에 대한 문제 해결 단계 : Dockerfile 구문 및 종속성 버전을 확인하십시오. 빌드 컨텍스트에 필요한 소스 코드 및 종속성이 포함되어 있는지 확인하십시오. 오류 세부 사항에 대한 빌드 로그를보십시오. -표적 옵션을 사용하여 계층 적 단계를 구축하여 실패 지점을 식별하십시오. 최신 버전의 Docker Engine을 사용하십시오. -t [image-name] : 디버그 모드로 이미지를 빌드하여 문제를 디버깅하십시오. 디스크 공간을 확인하고 충분한 지 확인하십시오. 빌드 프로세스에 대한 간섭을 방지하기 위해 Selinux를 비활성화하십시오. 커뮤니티 플랫폼에 도움을 요청하고 Dockerfiles를 제공하며보다 구체적인 제안을 위해 로그 설명을 구축하십시오.
