Я должен переключиться от Vim до Emacs и раз так каких-либо предложений? [закрытый]

проблема заключается в том, что в вашей функции login_originup1 вы делаете три цикла while, от которых программа не может выйти из вашей функции, вы запрашиваете if login_orsignup1 != 1 без оператора else, поэтому, если пользователь хочет войти, он нажимает ввод в «1» программа скажет, что

"1" =! 1 ложно

, она будет искать оператор else, но не найдет его, поэтому вернется к началу цикла и попросить пользователя ввести еще раз. это для Первой петли.

Теперь, если пользователь вводит в «2» (что означает, что пользователь хочет зарегистрироваться), он заставит его войти в систему, потому что:

"2" =! 1 истинно

и будет перейдите к следующему циклу while, здесь вам будет предложено ввести имя пользователя, а пользователь предоставит имя пользователя. Теперь это для второго цикла

. Теперь мы переходим к последнему циклу, где вы запрашиваете пароль, и пользователь дает пароль. Программа либо 1. скажет, что она была ложной и снова запросит пароль, либо 2. она примет пароль и прервет цикл. Теперь это для третьего цикла

, так почему он спрашивает у меня имя пользователя? Потому что оператор break разрывает только тот цикл while, в котором он находится, так что оператор break разрывает только третий цикл while и возвращается к Второй цикл, который второй цикл снова вернет нам в третий цикл

, как это исправить?

просто так:

def login_originup1():
    print('Welcome to password vault, You can either login or create a New account')

    while True: 
        login_orsignu = input('Press\n1) to Log in\n2) to register a new account\n')
        loopBreaker = 0
        if loopBreaker:
            break
        if int(login_orsignu) != 1:
            while True: 
                if loopBreaker:
                    break
                username = input('What is your,\nUsername:')
                if input_username == username:
                    l_p = input('What is your password ')
                    while True:
                        if loopBreaker:
                            break
                        if l_p == input_lockerpassword:
                            print("Password Correct")
                            loopBreaker = 1
                            break

13
задан Luke Girvin 4 September 2011 в 01:18
поделиться

6 ответов

Почему Вы не можете использовать обоих? Используя Emacs не означает, что необходимо прекратить использовать Vim.

Преимущества изучения и использования обоих:

  • Иногда один редактор лучше, чем другой для некоторого конкретного языка. Лучшая подсветка синтаксиса, лучшие правила добавления отступа, лучшие макросы, лучшая интеграция с внешними инструментами, или что бы то ни было. Вы будете всегда использовать лучшего редактора для задания, если Вы сможете выбрать между Vim и Emacs.
  • Иногда сообщество гравитирует к одному редактору или другому. Можно участвовать в сообществе, неважно, которое используется.
  • Можно изучить аккуратные приемы от одного редактора и портировать их на другой. У обоих редакторов есть функции, о которых Вы никогда не думали бы, если бы Вы придерживались того исключительно.
  • Если некоторый компьютер только имеет один или другой настроенный, можно все еще использовать его эффективно.
  • Изучение является забавой.
  • Фанат cred.

Недостатки:

  • Изучение занимает время и усилие.
  • Фрагментация и дублирование усилия (все Ваши любимые приемы и keymappings должны быть записаны дважды в сценарии Vim и elisp).

Я вижу, что преимущества перевешивают недостатки.

Я использую Emacs для кода Lisp, и потому что я использую Lisp для веб-разработки, я также остаюсь в Emacs для CSS и JavaScript и такого. Я использую Vim для Ruby, Python, Perl, PHP, Bash, простого текста и почти всего остального. У обоих редакторов есть достоинства и недостатки, но главным образом у обоих есть преимущества.

Единственный способ знать, нравятся ли Вам Vim или Emacs лучше, состоит в том, чтобы инвестировать время в обоих, таким образом, можно сделать обоснованное решение. Возможно, Вы найдете, что Emacs соответствует способу, которым Вы думаете и работаете лучше, или возможно нет. Именно такая субъективная вещь единственный способ знать путем попытки.

Текстовые редакторы не являются религиями, и свободное пространство на диске в Вашем мозгу, во всех отношениях, неограниченно. Так используйте обоих и наслаждайтесь.

24
ответ дан 1 December 2019 в 17:55
поделиться

Нет. После того как vimer навсегда vimer.

6
ответ дан 1 December 2019 в 17:55
поделиться

Следует иметь в виду, что emacs имеет режим гадюки, который позволяет Вам продолжать использовать свои текущие vi привязки клавиш. Что касается вещи метаклавиши, я отобразил свою Caps Lock на ctrl и свой сдвиг вправо к высокому звуку и был довольно доволен им.

6
ответ дан 1 December 2019 в 17:55
поделиться

Это может быть легче: Плагин менеджера Vi Input (работает в XCode),

4
ответ дан 1 December 2019 в 17:55
поделиться

Единственная причина, которую я переключил бы на emacs (и я пробую время от времени) для замечательных elisp пакетов - конкретно все специальные режимы редактирования и режимы консоли/отладчика.

Я никогда не использовал XCode, но я предполагаю от Вашего вопроса, что это emacs привязки клавиш только. Т.е. Вы не можете использовать emacs пакет с XCode.

Так нет. Я сказал бы, не переключаются на emacs. Если Вы хотите использовать XCode или изучить привязки клавиш или использовать некоторый XCode vi режим (как был предложен другими).

1
ответ дан 1 December 2019 в 17:55
поделиться

Нет большой поддержки Emacs в Mac OS X и XCode. Это - главным образом несколько нажатий клавиш.

Mac OS X идет с версией программы Emacs. Очень хорошим Emacs для Mac OS X является Aquamacs.

4
ответ дан 1 December 2019 в 17:55
поделиться