[vim]문자열 치환하기

한 번에 문자열을 치환할 수 있는 방법을 정리한다.

문자열 치환

1
2
:%s/<변경대상 문자열>/<변경할 문자열>
:%s/<변경대상 문자열>/<변경할 문자열>/<옵션>

Tip: %s의 s는 치환하다라는 뜻을 가진 substitute를 의미한다고 생각하면 기억하기 쉬울 것 같다.

예를 들어 문서에 pick이라는 문자열을 edit변경 하고자 한다면 아래와 같이 할 수 있다.

1
:%s/pick/edit

옵션

  • g: global - 파일 전체를 대상으로 한다.
  • i: ignore case - 대소문자를 구분하지 않는다.
  • c: confirm - 검색된 문자열에 대해서 치환할지 말지 물어본다.

예시

  1. 문서 전체에서 pickedit으로 변경
1
%s/pick/edit/g
  1. 문서 전체에서 pickedit으로 변경하는데, 각 문자열이 검색될 때마다 변경할 건지 묻기
1
%s/pick/edit/gc

[참고]
https://overegoz.tistory.com/659
http://gypark.pe.kr/wiki/Vi%EB%A1%9C%EB%AC%B8%EC%9E%90%EC%97%B4%EC%B9%98%ED%99%98%ED%95%98%EA%B8%B0

Share

[Nginx]Nginx를 사용할때 HTTP를 HTTPS로 리다이렉션하기

웹 서버로 Nginx를 사용할때 HTTP로 들어오는 요청을 HTTPS로 리다이렉션하는 방법을 정리한다.

방법

80번 포트로 요청이 들어올 경우 동일한 주소이지만 HTTPS로 301 redirect 할 수 있도록 하면된다. 80번 포트일때 처리할 block은 물론 당연히 HTTPS 요청을 처리하는 block로 필요하다!

1
2
3
4
5
6
7
8
9
server {
listen 80;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name example.com;
}

[참고]
https://rsec.kr/?p=182
https://www.psychz.net/client/question/ko/nginx-redirect-http-to-https.html

Share

[git]commit할 때 변경된 내용(diff) 출력하기

vi를 통해 커밋 메세지를 작성할 때, 어떤 변경점이 있는 지 보고 작성하고 싶을 때가 많았다. 그래서 staging 하기 전에 git diff 명령어를 통해 보고 메세지를 작성하곤 했는데 git commit의 옵션을 통해 처리할 수 있었다. 그 방법은 간단하게 나마 정리해본다.

git commit -v

-v 옵션을 사용하면 커밋할 때 변경사항들을 출력해준다.

1
git commit -v

git diff –staged 명령어를 통해서도 diff를 확인할 수 있다는 점을 알아두자.

Share