- 명령어

:sp 는 상하로 분할

:vs 는 좌우로 분할 


- 화면 나누기

<수직 창 분할>

:sp {파일경로} : 상하로 화면 분할

:10sp {파일경로} : 새로 만드는 수직 창을 10칸짜리로

:new filenam e


<파일 브라우징>

:20vs ./


<수평 창 분할>

:vsplit

:vs filename e

:20vs


- 화면 이동 및 정리, 닫기

<커서 이동>

Ctrl + w, 방향키 - 방향키 입력대로 커서 이동

Ctrl + w, w - 다음으로 커서 이동

Ctrl + w, W - 이전으로 커서 이동

Ctrl + w, [H J K L] - 커서 이동


<화면 닫기>

:q (현재 화면 닫기)

:qa (모두 닫기)

Ctrl + w, q (현재 화면 닫기)

Ctrl + W, o (현재 화면만 남기고 모두 닫기)


<화면 위치 바꾸기>

Ctrl + w, r - 순환적으로 위치 바꾸기

Ctrl + W, r - 다음 화면과 위치 바꾸기


<창 크기 변경>

Ctrl + w, = (창 크기 균등하게)

Ctrl + w, _ (현재 창의 높이를 최대로)

Ctrl + w, | (현재 창의 너비를 최대로)

Ctrl + w, [n] + (창의 높이를 n 만큼 증가)

:resize +n

Ctrl + w, [n] - (창의 높이를 n 만큼 감소)

:resize -n

z[n] (현재 창의 높이를 n으로 설정)

Ctrl + w, [n] > (현재 창의 너비를 n만큼 증가)

Ctrl + w, [n] < (현재 창의 너비를 n만큼 감소)


- Reference

http://ngee.tistory.com/423

http://noon.tistory.com/1353



$ cat -n ~/.vimrc

syntax on
filetype plugin indent on

let python_version_2 = 1
let python_highlight_all = 1

set tabstop=4
set expandtab
set shiftwidth=4
set softtabstop=4
set bg=dark
set nu
set ruler

au FileType py set autoindent
au FileType py set smartindent

au FileType py set textwidth=79 


[python 개발도구 vim, 그 설정 .vimrc] http://idchowto.com/?p=13500

TOC 자동 생성 웹페이지 : https://ecotrust-canada.github.io/markdown-toc/

markdown 

# 개요

# 유사 게임 분석

# 세계관

## 전체 세계관

## 스토리

## 캐릭터

# 구조 및 형태

## Flow Chart

## UI

## Key 설정

# Game System

## 기본룰

## 스테이지 구성

## Boss System

## Combo

## Ending

## 캐릭터

## 캐릭터 파라미터

## 몬스터

## 캐릭터 성장

## NPC

## 무기

## 아이템

## 이벤트

# Game Screen

## Map

## 타이틀

## 메인 메뉴

## 시나리오

## 스테이지 시작

## 게임 플레이 화면 구성

## 캐릭터 DIE

# 사운드 리스트 

TOC

- [개요](#--)

- [유사 게임 분석](#--------)

- [세계관](#---)

  * [전체 세계관](#------)

  * [스토리](#---)

  * [캐릭터](#---)

- [구조 및 형태](#-------)

  * [Flow Chart](#flow-chart)

  * [UI](#ui)

  * [Key 설정](#key---)

- [Game System](#game-system)

  * [기본룰](#---)

  * [스테이지 구성](#-------)

  * [Boss System](#boss-system)

  * [Combo](#combo)

  * [Ending](#ending)

  * [캐릭터](#----1)

  * [캐릭터 파라미터](#--------)

  * [몬스터](#---)

  * [캐릭터 성장](#------)

  * [NPC](#npc)

  * [무기](#--)

  * [아이템](#---)

  * [이벤트](#---)

- [Game Screen](#game-screen)

  * [Map](#map)

  * [타이틀](#---)

  * [메인 메뉴](#-----)

  * [시나리오](#----)

  * [스테이지 시작](#-------)

  * [게임 플레이 화면 구성](#------------)

  * [캐릭터 DIE](#----die)

- [사운드 리스트](#-------) 



출처 : http://ccl.cckorea.org/syntax/#section


목차

0. TOC (순서없는 목록) - 숫자로 시작
{:toc}

* TOC (순서 목록) - 목록형으로 시작
{:toc}

# 디자인 시안처럼 목록 스타일 없이 직접 제목으로만 목차를 구성하고 싶으면 
아래처럼 `no-style` 클래스를 추가합니다.

* TOC (목록 스타일 없는 목록)
{:toc}
{: .no-style }

목차에서 제외하기

기본적으로 헤드라인 즉 제목 요소들이 자동으로 목차로 변환되어 출력되지만 
제외하고 싶은 제목 밑에 {: .no_toc }을 추가하면 그 제목은 목차에서 제외됩니다.

## 이탤릭 스타일 <em>
{: .no_toc}

예시로 위에서 처럼 이탤릭 스타일이라는 제목 아래 구문을 추가해서 원래대로라면 목차에서 두꺼운 스타일 아래 이탤릭 스타일이 나와야 하지만 목차에서 제외된 걸 확인할 수 있습니다.

제목 h1, h2, h3, h4

# h1
## h2
### h3
#### h4

두꺼운 스타일

두꺼운 스타일

**두꺼운 스타일**

이탤릭 스타일

이탤릭

*이탤릭*

링크

일반 링크

['test'](http://www.example.com/)

‘test’

새창으로 링크

['test'](http://www.example.com/){: target="_blank" }

‘test’

새창으로 버튼 링크

['test'](http://www.example.com/){: .btn.btn-default target="_blank" }

‘test’

자동 링크

autolink: <http://www.example.com/>

autolink: http://www.example.com/

문단 (p)

Lorem ipsum dolor sit amet, consectetur
adipisicing elit. Quasi error quod libero

&nbsp;

corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi error quod libero

 

corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.

인용 (blockquote)

> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem numquam, laboriosam, omnis eligendi ratione voluptas natus! Vitae consectetur molestiae, ab. Nemo rem maxime ea eos facilis ducimus suscipit voluptates obcaecati?

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem numquam, laboriosam, omnis eligendi ratione voluptas natus! Vitae consectetur molestiae, ab. Nemo rem maxime ea eos facilis ducimus suscipit voluptates obcaecati?

정렬

가운데 .text-center

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi error quod libero corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.
{: .text-center }

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi error quod libero corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.

왼쪽 .text-left

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi error quod libero corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.
{: .text-left }

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi error quod libero corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.

오른쪽 .text-right

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi error quod libero corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.
{: .text-right }

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi error quod libero corporis, iste sit nulla similique enim dignissimos asperiores, illo numquam architecto maxime ab tenetur repellendus, dicta sed officia.

각주

This is a text with a footnote1.

This is a text with a
footnote[^1].

[^1]: And here is the definition.

축약어 (HTML)

This is an HTML example.

This is an HTML
example.

*[HTML]: HyperTextMarkupLanguage

테이블


First Header  | Second Header
------------- | -------------
Content Cell  | Content Cell
Content Cell  | Content Cell
{: .table}

 

First HeaderSecond Header
Content CellContent Cell
Content CellContent Cell

   

|  Left-Aligned |  Center Aligned | Right Aligned |
| :------------ | :-------------: | ------------: |
| col 3 is      | some wordy text |         $1600 |
| col 2 is      |     centered    |           $12 |
| zebra stripes |     are neat    |            $1 |
{: .table}

 

Left-AlignedCenter AlignedRight Aligned
col 3 issome wordy text$1600
col 2 iscentered$12
zebra stripesare neat$1

   

깃헙 마크다운 도움말 페이지 링크

https://guides.github.com/features/mastering-markdown/

1. OpenCV 3.2 다운로드

http://opencv.org/releases.html


2. opencv-3.2.0-vc14.exe 실행

압축을 풀 폴더를 지정 -> Extract 

(필자는 D:\opencv_lib 지정)


3. 비주얼 스튜디오 2017 프로젝트 생성


4. 프로젝트 속성에 VC++ Directories 에서 64비트로 설정

Configuration Manager -> Active solution platform : x64로 설정


5. 프로젝트 속성에 OpenCV 라이브러리 설정

1) C/C++ -> 일반 -> 추가 포함 디렉터리 -> 포함 디렉터리 추가

D:\opencv_lib\opencv\build\include

D:\opencv_lib\opencv\build\include\opencv

D:\opencv_lib\opencv\build\include\opencv2

2) 링커 -> 일반 -> 추가 라이브러리 디렉터리 -> 라이브러리 디렉터리 추가

D:\opencv_lib\opencv\build\x64\vc14\lib

3) 링커 -> 입력 -> 추가 종속성 -> 라이브러리 추가

opencv_world320.lib

opencv_world320d.lib


6. 실행 파일 폴더에 dll 폴더 복사

opencv_ffmpeg320.dll

opencv_world320.dll

opencv_world320d.dll

7. OpenCV 코드 실행

1) 소스 코드

2) 실행 결과




[에러 메세지]

C:\Program Files (x86)\Windows Kits\10\bin\x86\rcdll.dll

리소스 컴파일러 DLL을 찾을 수 없습니다.


[에러 원인]

C:\Program Files (x86)\Windows Kits\10\bin\x86 에 rcdll.dll 이 존재하지 않음


[해결 방안]

1. 임시적 방안

C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64 에 있는 rcdll.dll 을

C:\Program Files (x86)\Windows Kits\10\bin\x86 에 복사


2. 근본적 방안

windows10 SDK (10.0.14393.0) 업데이트


[참고]

http://webnautes.tistory.com/1138

https://www.visualstudio.com/ko-kr/news/releasenotes/vs2017-knownissues




'Programming > Linux Coding' 카테고리의 다른 글

[vim] python 개발도구 설정 .vimrc  (0) 2017.07.25
[Bash] 쉘 스크립트 - 위치 매개변수  (0) 2017.07.24
rsync 명령어  (0) 2017.07.21
grep 명령어  (0) 2017.07.21
bash 쉘을 이용한 스크립트 만들기 #6  (0) 2017.07.21

Rsync

Rsync(Remoe Sync)는 원격에 있는 파일과 디렉토리를 복사하고 동기화 하기 위해서 사용하는 툴이며 동시에 네트워크 프로토콜이다. 리눅스와 유닉스에서는 백업용도로 (아마도)가장 널리 사용하는 툴일 것이다(윈도우와 애플에도 포팅됐다). Rsync는 CLI툴로, 커맨드 라인의 옵션들을 이용해서 배치 프로그램을 개발하기 쉬다는 장점이 있다. 이 스크립트를 cron 등에 올리는 걸로 간단하게 백업 혹은 미러(mirror) 시스템을 구축할 수 있다.


https://www.joinc.co.kr/w/Site/Tip/Rsync

bash 쉘을 이용한 스크립트 만들기 #6


0. 개요 

앞서한 강좌에서 bash script를 하기위한 문법적인 부분중 피룡한 부분은 다되었다고 해도 크게 무리는 아니다 
하지만 bash script의 경우 문법만가지고 할수 있는 부분은 극히 적다
여러가지 명령어들과 그에 따른 조합을 이용해서 이루어지고 이부분에 필요에 따라 분기 반복 문자열 파싱 패턴 메치등의 여러가지의 프로그램적인 요소와 실제 시스템에서 사용되는 명령어의 실행으로 이루어지기 때문이다 
이번 강좌에서는 bash script를 사용하기 위해 유용한 명령어들에 대해 알아보자 


1. 디버깅하기 

"#!/bin/bash" 를 처음에  "#!/bin/bash -x" 로 해주면 된다 .


 -f -X '\''!*.@(pdf|PDF)'\'' acroread gpdf xpdf' ']'
+++ line='complete -f -X '\''!*.@(pdf|PDF)'\'' acroread gpdf xpdf'
+++ line='complete -f -X '\''!*.@(pdf|PDF)'\'' acroread gpdf xpdf'
+++ line=' acroread gpdf xpdf'
+++ list=("${list[@]}" $line)
+++ read line
+++ '[' 'complete -f -X '\''!*.@(?(e)ps|?(E)PS|pdf|PDF)'\'' kpdf' '!=' 'complete -f -X '\''!*.@(?(e)ps|?(E)PS|pdf|PDF)'\'' kpdf' ']'
+++ line='complete -f -X '\''!*.@(?(e)ps|?(E)PS|pdf|PDF)'\'' kpdf'
+++ line='complete -f -X '\''!*.@(?(e)ps|?(E)PS|pdf|PDF)'\'' kpdf'
+++ line=' kpdf'
+++ list=("${list[@]}" $line)
+++ read line


위 와 같이 각 실행 부분에 대해 알려준다 



2. 문자열 치환 

sed  
패턴에 따른 문자열 치환 
# sed -e "s/[old_patten]/[new_patten]/g" /path/to/filename

공 백 라인 삭제
# sed -e "/^$/d"  /path/to/filename


3. 전형화된 파일에서 필드 구분 

ex) 파일내용   필드 구분자 : \:   row구분자 : \n
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh

# awk -F : '{print $1}' /etc/passwd
# cat /etc/passwd | awk -F : '{print $1}'
두가지다 아래와 같이 출력된다 
root
daemon
bin
sys
sync
games
man
lp
mail

# cut -d :  -f 1 /etc/passwd
# cat /etc/passwd | cut -d :  -f 1
두가지 다 아래와 같이 출력된다 
root
daemon
bin
sys
sync
games
man
lp
mail


4. 검색 및 탐색
파일명으로  검색할경우 
find /path/to/ -type f -name [patten]

파 일사이즈로  검색할경우 
find /path/to/ -type f -size +1024000

파일생성일자로 검색 
find /path/to/ -type f -ctime +24

파일내용으로 검색할경우 
grep [patten] /path/to/filename

특정디렉토리 아래로 모든파일을  재귀적으로 내용을 검색할때 
grep [patten] /path/to/ -R


5. 파일 길이 알아보기 
각 라인 마다 번호 붙이기 
     공백 라인은 제외하고 번호붙이기
     nl /path/to/filename 
     1         #!/bin/bash
       
     2         for i  in $( ls ) ; do 
     3          echo   "$i\n"
     4         done

     공백라인 상관없이 번호붙이기
     cat -n  /path/to/filename 
     1         #!/bin/bash
     2    
     3         for i  in $( ls ) ; do 
     4          echo   "$i\n"
     5         done

     파일길이에 대한 자센 정보 
     wc /path/to/filename 
     5 12 74 /path/to/filename
     [라인수] [단어수] [문자 수] [파일]


6 .  날자 시간 
현재 날짜 알아보기 
# date
2010. 05. 16. (일) 18:52:31 KST

포멧을 지정할경우 
# date +"%Y%m%d %H%M%S"
20100516 185341

특정 프로그램의 실생기산구하기 
# time ls -al

....
real    0m0.040s
user    0m0.008s
sys    0m0.012s


7. 마무리 

bash script 를 사용할때  자주 사용되는 몇가지 명령어들에 대해  알아보았다 여기서 알아번것은 기본 사용법이며  보다 디테일하게 사용하기 위해서는 man page 등을 참고하여 사용하여야 한다 
다음번에는 위의 명령어들 외에 다른 명령어들에 대해 알아보도록 하겠다 .


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1743

'Programming > Linux Coding' 카테고리의 다른 글

rsync 명령어  (0) 2017.07.21
grep 명령어  (0) 2017.07.21
bash 쉘을 이용한 스크립트 만들기 #5  (0) 2017.07.21
bash 쉘을 이용한 스크립트 만들기 #4  (0) 2017.07.21
bash 쉘을 이용한 스크립트 만들기 #3  (0) 2017.07.21

+ Recent posts