메모장 ++ 다중 편집


112

메모장 ++에서 여러 커서를 어떻게 가질 수 있습니까?

탭으로 구분 된 몇 가지 값이 있습니다. 이 모든 값에 대한 쿼리를 작성해야합니다. 예를 들어 다음과 같은 값이있는 Excel 파일을 얻는 경우 :

1234 xyz pqr
2345 sdf kkk
...

이 데이터 전체를 Notepad ++에 복사하고 쿼리를 작성하여 모든 값을 한 번에 삽입하고 싶습니다.

이렇게 :

Insert into tbl (1234, xyz) where clm = 'pqr'
Insert into tbl (2345, sdf) where clm = 'kkk'
...

이전 텍스트 편집기 인 Ultraedit를 사용했습니다. Notepad ++를 사용하여이 작업을 수행 할 수 있습니까?


2
어 ... SublimeText를 사용하십시오. :)
Praveen Kumar Purushothaman

Notepad ++로 항상이 작업을 수행하지만이 작업에서 UltraEdit를 사용하고 있습니다. UltraEdit로 어떻게 수행합니까? :)
론 젠슨 - 우리는 모니카 있습니다

답변:


166

예 : 간단히 Alt키를 누른 상태에서 클릭하고 드래그하여 열을 편집 할 줄을 선택한 다음 입력을 시작합니다.

또한 설정> 기본 설정 ...으로 이동 하고 편집 탭에서 다중 편집을 켜서 한 번에 편집 할 여러 개별 영역 또는 텍스트 열을 선택할 수 있습니다.

입력하는 동안 편집 내용을 실시간으로 볼 수 있으므로 훨씬 더 직관적입니다.


2013, v5.2 : 편집 탭 또는 다중 편집 옵션이 없습니다.
Wouter

@Wouter : v6.2에는 여전히 존재합니다 ... v5.2에없는 경우 다른 문제가있을 수 있지만 더 이상 언급 할 수는 없습니다.
BoltClock

@BoltClock : 좋아요! 버전 v5.2와 v6.2 사이에 해당 기능이 추가되어야합니다. 아니면 그 전 어딘가에서 잠시 길을 잃었을 수도 있습니다. :)
Wouter

1
여기에서 데모를 볼 수 있습니다 : notepad-plus-plus.org/features/multi-editing.html . 이전 버전처럼 보이지만 v6.4.5에서 시도해 보았고 정상적으로 작동했습니다.
brazilianldsjaguar

10
alt+up/down나를 위해 작동하지 않았습니다. alt+shift+up/down대신 사용해야 했습니다. v6.9.1
AXO

51

텍스트를 추가하려는 위치에서 다음을 수행하십시오.

Shift+ Alt+down arrow

원하는 라인을 선택하십시오. 그런 다음 입력하십시오. 입력 한 텍스트는 선택한 모든 줄에 삽입됩니다.


1
여기에서 정말 최고의 답변입니다.
Etienne Gautier

이것은 더 나은 대답입니다! 잘라 내기, 복사와 같은 작업에는 shift + alt를 사용해야합니다.
gaurav

이 기능을 오랫동안 검색해 왔습니다. 감사합니다!
michal.hubczyk

46

제어 버튼을 사용하여 여러 줄에 콘텐츠를 추가 / 편집 할 수 있습니다. 이것은 Notepad ++의 다중 편집 기능이므로 설정에서 활성화해야합니다. 컨트롤을 길게 누르고 텍스트를 입력 할 위치를 선택한 다음 컨트롤을 해제하고 입력을 시작하면 이전에 선택한 모든 위치에서 텍스트가 업데이트됩니다.

여기에 이미지 설명 입력

참조 : http://notepad-plus-plus.org/features/multi-editing.html


1
나는 당신이 만든 gif를 좋아합니다. 감사합니다.
Julien

이것이 바로 제가 원했던 것입니다. 감사합니다.
Sol


22

Edit > Column Editor...현재 및 다음 줄에 텍스트를 삽입 하는 데 사용할 수 있습니다 . 바로 가기는 Alt + C입니다.


8

Notepad ++에는 원하는대로 패턴을 검색하고 바꿀 수있는 강력한 정규식 엔진이 있습니다.

귀하의 시나리오에서 :

  1. 메뉴 항목 검색 \ 바꾸기 ...를 클릭합니다.

  2. 검색 패턴으로 '찾을 내용'필드를 채 웁니다.

    ^(\d{4})\s+(\w{3})\s+(\w{3})$
    
  3. 교체 패턴 채우기 :

    Insert into tbl (\1, \2) where clm = \3
    
  4. Replace All버튼을 클릭하십시오 .

그리고 그게 다야.

NotePad ++ 교체 창 스크린 샷


저는 10 년 이상 이러한 유형의 편집에 정규식을 사용해 왔지만 많은 사람들이 정규식을 혼란
스럽거나

6

다른 편집기로 이동하거나 정규식을 배우지 않고 문제를 해결하는 가장 쉬운 방법은 매크로를 기록하는 것입니다.

  • 텍스트 시작 부분에 커서를 놓고 리본에서 '기록'버튼을 클릭 한 다음 해당 텍스트 행만 편집합니다. 마우스로 클릭하는 대신 화살표 키 또는 ctrl + 화살표 키만 사용하여 문자 / 단어를 이동할 수 있습니다. 'home'및 'end'키도 유용합니다.
  • 한 줄로 끝났 으면 커서를 (마우스를 사용하지 않고 다시) 다음 줄의 시작 부분으로 이동합니다.
  • '녹음 중지'버튼을 클릭합니다.
  • '매크로 재생'버튼을 클릭하여 예상대로 다음 줄에서 작동하는지 확인합니다.
  • '매크로를 여러 번 실행'을 클릭하여 반복해서 반복하십시오 ... : P
'다중 편집'커서에 비해이 기능의 한 가지 장점은 모든 행에 커서를 수동으로 클릭하여 배치 할 필요가 없다는 것입니다. 두 번째 장점은 크기 / 길이가 일관되지 않은 탭으로 구분 된 데이터로 작업 할 수 있다는 것입니다. Ctrl + 왼쪽 / 오른쪽을 사용하여 단어를 건너 뛸 수 있습니다.

솔직히 N ++의 매크로는 내 인생의 약 1 년을 절약했습니다.


1

Notepad ++에는 열 편집 만 있습니다. 이것은 다중 커서와 완전히 동일하지 않습니다.

Sublime Text는 이것의 놀라운 구현을 가지고 있습니다. 확인해 볼 가치가있을 것입니다 ...
꽤 빠르게 인기를 얻고있는 비교적 새로운 편집기 (2011)입니다. http://www.google.com/trends/explore#q=Notepad% 2B % 2B % 2C % 20Sublime % 20Text & cmpt = q

편집 : 분명히 Notepad ++ 버전 6.x 다중 커서 편집 주변 어딘가에 추가되었지만 Sublime에는 "다음 항목 선택"과 같은 몇 가지 고급 기능이 여전히 있습니다.


npp의 다중 커서 편집은 숭고한 다중 행 편집만큼 좋지 않습니다.
th1rdey3

1
수정 : npp의 다중 커서 편집은 기본적 으로 숭고한 다중 행 편집만큼 좋지 않습니다 . scintilla 라이브러리는 sublime이 지원하는 모든 기능을 허용합니다. 모든 사용자는 nppscripts 또는 pythonscript와 같은 플러그인을 다운로드하여 기본 npp 프레임 워크에 액세스하고 이러한 스크립트를 키보드 단축키에 매핑하여 모든 숭고한 명령을 에뮬레이션 할 수 있습니다. 편집기를 구성하는 것을 원하지 않는 사람들을 위해 반드시 숭고한 비용을 지불하십시오.
user2867288

나는 당신이 어디에서 왔는지 이해하지만 일반 사용자에게 일반 기능을 위해 기본 편집기 프레임 워크를 스크립팅하도록 요청하는 것은 공정하지 않습니다. 플러그인이 이미이 작업을 수행했다면 동의합니다 (시간이 더 있다면 만들겠습니다). 또한이 최근 포스트 sourceforge.net/p/scintilla/feature-requests/1085에 따르면 "다음에 강조 표시"는 쉽게 할 수 있지만 화살표 키 기능은 사용할 수 없습니다. "건너 뛰기"도 구현하는 것이 얼마나 쉬운 지 궁금합니다. 다음 강조 표시, 다음 건너 뛰기 및 화살표가 모두 도움이 될 수 있습니다.
ShawnFumo

0

ConyEdit 플러그인을 사용하여이 작업을 수행 할 수 있습니다. ConyEdit가 백그라운드에서 실행되면 다음 단계를 따르십시오.

  1. 명령 줄 cc.spc /\t/ a을 사용하여 텍스트를 열로 분할하고 2 차원 배열에 저장합니다.
  2. cc.p배열의 내용을 사용하여 인쇄 하려면 명령 을 사용하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.