美文网首页
Day34 - Linux vim编辑器

Day34 - Linux vim编辑器

作者: 莫名ypc | 来源:发表于2018-11-14 21:04 被阅读0次

    将命令别名:
    alias 新命令名='原命令'

    alias rm='rm -f'
    

    删除别名:
    unalias

    unalias rm
    

    创建归档

    tar -cvf filename.tar redis-5.0.0/*
    

    解归档

    tar -xvf filename.tar
    

    > : 输出重定向
    >> : 追加输出重定向
    2> : 错误输出重定向

    cal >> name.txt
    ls -R /root 2> username
    ls -R / > ok.txt 2> error.txt
    

    vim编辑器

    vim的工作模式:

    1.命令模式 按i或者a进入编辑模式
    2.编辑模式 按Esc进入末行模式
    3.末行模式 命令模式下按:或者/或者?进入

    常用命令
    h、j、k、l - 移动光标

    gg:首行
    G:最后一行

    dd:删除一行
    d0:从光标位置删除至行首
    d$:从光标位置删除至行尾
    行数 dd: 删除光标后的指定行数
    dw:删除单词
    u:撤销
    数字 yy : 复制指定光标后的指定行数
    yy:复制一行
    p:粘贴
    ZZ : 保存退出

    快捷键:
    Ctrl + y:向上一行
    Ctrl + e:向下一行
    Ctrl + f:向下一页
    Ctrl + b:向上一页
    Ctrl + r : 重做
    Ctrl + w : 切换窗口

    末行模式:
    set nu : 设置行号
    syntax on:设置高亮语法
    set ruler:显示光标位置
    set ts=4:制表键4个空格
    set autoindent:自动缩进
    set nohls:取消高亮搜索结果

    Vim 安装一个名为 YouComleteMe插件

    用户主目录下创建vim配置文件:

    vim .vimrc
    

    set nu : 设置行号
    syntax on:设置高亮语法
    set ruler:显示光标位置
    set ts=4:制表键4个空格
    set autoindent:自动缩进
    set nohls:取消高亮搜索结果

    映射快捷键:

    map <F2> gg99999dd
    inoremap _main if __name__ == '__main__':
    

    vim同时打开多个文件

    ls:查看打开的多个文件
    b 文件序号: 切换文件
    sp: 水平分屏
    vs:垂直分屏
    Ctrl + w:切换窗口
    qa:退出所有窗口

    -rw-r--r-- 1 root root hello.py
    第一个字符:
    d - 文件夹
    l - 软链接
    - - 文件
    第2 - 4个字符:文件的所有者对文件有何种操作权限
    r - read - 读
    w - write - 写
    x - execute - 执行
    第5 - 7个字符:和文件所有者同组的用户对文件有何种操作权限
    第8 - 10个字符:其他用户(不是文件的所有者也不同组)的用户对文件有何种操作权限

    chmod:修改文件权限

    chmod u+x hello.py
    chmod g+x,o+x hello.py
    

    chown :改变文件的所有者

    chown hellokitty hello.py
    

    A、B、C、D、E五人在某天夜里合伙捕鱼 最后疲惫不堪各自睡觉
    第二天A第一个醒来 他将鱼分为5份 扔掉多余的1条 拿走自己的一份
    B第二个醒来 也将鱼分为5份 扔掉多余的1条 拿走自己的一份
    然后C、D、E依次醒来也按同样的方式分鱼 问他们至少捕了多少条鱼

    穷举法:穷尽所有可能直到找到答案

      1 #!/usr/bin/python3
      2 
      3 
      4 def main():
      5     fish = 1
      6     while True:
      7         enough = True
      8         total = fish
      9         for _ in range(5):
     10             if (total - 1) % 5 == 0:
     11                 total = (total - 1) // 5 * 4
     12             else:
     13                 enough = False
     14                 break
     15         if enough:
     16             print(fish)
     17             break
     18         fish += 1
     19 
     20 
     21 if __name__ == '__main__':
     22     main()
    
      1 #!/usr/bin/python3
      2 """
      3 百钱百鸡
      4 """
      5 
      6 
      7 def main():
      8     """主函数(程序的入口)"""
      9     for cock in range(0, 21):
     10         for hen in range(0, 34):
     11             chicken = 100 - cock - hen
     12             if chicken % 3 == 0 and 5 * cock + 3 * hen + chicken // 3 == 100:
     13                 print(f'公鸡:{cock},母鸡:{hen},小鸡:{chicken}')
     14 
     15 
     16 if __name__ == '__main__':
     17     main()
    

    Josephu环:
    30个人(15个教徒和15个非教徒)坐船出海 船坏 需要把15个人扔到海里 其他人才能幸存 围成一圈从某人开始从1报数 报到9的人 扔到海里 下一个人继续从1开始报数 直到扔掉15个人 结果由于神仙的保佑 15个教徒全部幸存 问最开始怎么站的

      1 #!/usr/bin/python3
      2 
      3 
      4 def main():
      5     persons = [True] * 30
      6     index, number, counter = 0, 0, 0
      7     while counter < 15:
      8         if persons[index]:
      9             number += 1
     10             if number == 9:
     11                 persons[index] = False
     12                 counter += 1
     13                 number = 0
     14         index += 1
     15         index %= len(persons)
     16     for person in persons:
     17         print('基' if person else '非', end=' ')
     18     print()
     19 
     20 
     21 if __name__ == '__main__':
     22     main()
    
    1.JPG

    工资结算系统:
    部门经理 - 15000/月
    程序员 - 200/小时
    销售员 - 1800底薪 + 5%销售额

    1 #!/usr/bin/python3
      2 from abc import ABCMeta, abstractmethod
      3 
      4 
      5 class Employee(object, metaclass=ABCMeta):
      6 
      7     def __init__(self, name):
      8         self.name = name
      9 
     10     @abstractmethod
     11     def get_salary(self):
     12         pass
     13 
     14 
     15 class Manager(Employee):
     16 
     17     def get_salary(self):
     18         return 15000
     19 
     20 
     21 class Programmer(Employee):
     22 
     23     def __init__(self, name):
     24         self.working_hour = 0
     25         super().__init__(name)
     26 
     27     def get_salary(self):
     28         return 200 * self.working_hour
     29 
     30 
     31 class Salesman(Employee):
     32 
     33     def __init___(self, name):
     34         self.sales = 0
     35         super().__init__(name)
     36 
     37     def get_salary(self):
     38         return 1800 + self.sales * 0.05
     39 
     40 
     41 def main():
     42     emps = [
     43         Manager('曹操'),
     44         Programmer('荀彧'),
     45         Programmer('郭嘉'),
     46         Salesman('张辽')
     47     ]
     48 
     49     for emp in emps:
     50         if isinstance(emp, Programmer):
     51             hour = int(input(f'请输入{emp.name}本月工作时间:'))
     52             emp.working_hour = hour
     53         elif isinstance(emp, Salesman):
     54             sales = int(input(f'请输入{emp.name}本月销售额:'))
     55             emp.sales = sales
     56         print(f'{emp.name}本月工资为:{emp.get_salary()}元')
     57 
     58 
     59 if __name__ == '__main__':
     60     main()
    
    1.JPG

    相关文章

      网友评论

          本文标题:Day34 - Linux vim编辑器

          本文链接:https://www.haomeiwen.com/subject/znrdfqtx.html