vim 스크립트 도와주세요~

kty1104의 이미지

안녕하세요~
vim과 함께 설치되는 vimrc에 쓰는 스크립트가 궁금해서 질문을 올리는데 카테고리를 프로그래밍으로 해야 할지 설치 및 활용으로 해야 할지 잘 모르겠네요
파이썬을 설치하고 환경변수추가한후 vimrc에 map :!python % 이렇게 적어두었는데요
제가 F5에 할당해보고 싶은 기능은 다음과 같습니다
1. 파일이 저장되지 않았으면
현재 열려있는 파일의 가장 첫번째 줄의 특수문자 뺀 문자열을 이름+현제시각.py으로 해서 바탕화면에 저장 한 후 현제 파이썬 파일을 실행
2. 파일이 저장되어있었다면 바뀐 내용을 저장하고 현제 파이썬 파일을 실행~

제가 사용법을 잘 몰라서 이리저리 삽질을 해 봤는데 잘 안되더라구요
특히 map 이 부분 뒤에 if문을 넣는것도 어떻게 하는지 모르겠고 아니면 try catch라도 넣어보려고 했는데 그것도 잘 모르겠구요
그중에서도 가장 삽질을 많이 한것은 :!w 변수 이렇게 해서 변수안에 든 내용을 이름으로 하려고 하니 변수 안에 있는 내용이 아니라 "변수"가 이름이 되어버리기도 하고 말이죠

:!w 변수(문자열이들어있는) 이런식으로 하는 방법이 있을까요?

처음에는 kldp에서 SICP라는 책이 좋다는 이야기만 듣고
무작정 MIT의 OCW를 찾아갔는데 Lisp이 생소하기도 하고 머리에 잘 들어오지도 않고 해서
그 전단계 강의를 들어보려하니 이번에는 파이썬을 가지고 한다고 하기에 파이썬을 배워보자!
해서 파이썬을 설치했는데 IDE가 불편해서 vim이 좋다는 소리를 듣고 vim으로 갈아 탔습니다
그런데 vim으로 갈아타보니 기능도 많고 좋은 에디터인거 같긴한데 잘 모르는게 많아서 이렇게 헤메고 있네요
자꾸 개발 환경에만 신경 쓰다보니 정작 중요한 알고리즘공부도 못하게 되는거 같고 에휴 ㅠㅠ 뭔가 방법을 빨리 찾아야 겠습니다.
읽어주셔서 고맙구요 혹시 도움 주실수 있으면 좀 도와주시면 감사하겠습니다~

neocoin의 이미지

말씀하신 1번 사항을 map 명령에 로직을 한줄로 처리할 수 없습니다. vim script는 특성상 c나 여타 언어들처럼 한줄로 연결해서 작성하기 불가능에 가깝습니다. (예를 들어서 echo 두번을 한줄에 쓸수 없죠. exe 로 연결해서 작성은 할수 있겠으나 무의미하겠네요. )

구현하시려면, 스트립트로 간단한 함수를 짜고 그걸 호출하는 형식으로 하셔야 합니다.

자세한 사항은 vim 에서 h script 를 하시고 거기에 내용을 익히시고 구현 하세요.

2번 사항은 간단합니다.

제 경우는 .vimrc 에 이렇게 놓고 사용합니다.

nnoremap <silent> <F5> <ESC>:w<CR>:!ruby %<CR>

ruby 부분을 python으로면 변경하시면 되겠네요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.